@rubytech/create-maxy 1.0.477 → 1.0.478
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +23 -0
- package/payload/platform/plugins/anthropic/PLUGIN.md +3 -2
- package/payload/platform/plugins/anthropic/references/console-api.md +186 -0
- package/payload/platform/plugins/anthropic/references/setup-guide.md +3 -3
- package/payload/platform/plugins/anthropic/skills/get-api-key/SKILL.md +89 -20
- package/payload/platform/scripts/seed-neo4j.sh +92 -0
- package/payload/platform/templates/account.json +2 -1
- package/payload/server/public/assets/ChatInput-DNdZ2WD7.css +1 -0
- package/payload/server/public/assets/{admin-DpmnCxNk.js → admin-DLtY5oYr.js} +6 -6
- package/payload/server/public/assets/{public-BBxDqQvQ.js → public-B27jukY6.js} +1 -1
- package/payload/server/public/index.html +3 -3
- package/payload/server/public/public.html +3 -3
- package/payload/server/server.js +162 -73
- package/payload/server/public/assets/ChatInput-sDYraTun.css +0 -1
- /package/payload/server/public/assets/{ChatInput-DZ0j0Gdp.js → ChatInput-BWyEqP0k.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,j as g,k as _,l as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,v as E,w as D,x as O,y as k}from"./ChatInput-DZ0j0Gdp.js";var A=r(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),j=r(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),ee=r(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),M=r(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),te=r(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),ne=r(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),re=r(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ie=r(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),ae=r(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),oe=r(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),N=r(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),se=r(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),P=r(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),ce=r(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),F=r(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),le=r(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),ue=r(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),de=r(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),fe=r(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),pe=r(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),me=r(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),he=r(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),ge=r(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),_e=r(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),ve=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ye=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),be=r(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),xe=r(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Se=r(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ce=r(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),we=r(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Te=r(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ee=r(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),De=r(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Oe=r(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ke=r(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Ae=r(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),je=r(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),Me=r(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Ne=r(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Pe=r(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),Fe=r(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),Ie=r(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Le=r(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Re=r(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ze=r(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Be=r(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Ve=r(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),He=r(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),Ue=r(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),We=r(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Ge=r(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),Ke=r(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),qe=r(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Je=r(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ye=r(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Xe=r(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),Ze=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Qe=r(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),$e=n(),I=g(_(),1);function et(){(0,I.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&E(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&E(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function tt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function nt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function rt(){let[e,t]=(0,I.useState)(0),n=(0,I.useRef)(0),r=(0,I.useRef)(0),i=(0,I.useRef)(null),[a,o]=(0,I.useState)(0),s=(0,I.useRef)(0),c=(0,I.useRef)(null),l=(0,I.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,I.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,I.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,I.useCallback)(()=>{s.current=0,o(0)},[])}}var it=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html`,at=new Set(it.split(`,`)),ot=20*1024*1024,st=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function ct(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function lt(){let[e,t]=(0,I.useState)(`loading`),[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(``),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)(null),[b,x]=(0,I.useState)(null),[S,C]=(0,I.useState)(!1),[w,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(void 0),[O,k]=(0,I.useState)(void 0),[A,j]=(0,I.useState)(void 0),ee=(0,I.useRef)(void 0),M=(0,I.useRef)(null),te=(0,I.useRef)(null),ne=(0,I.useRef)(null);(0,I.useEffect)(()=>{async function e(n=2){try{let e=await fetch(`/api/health`);if(!e.ok){t(`set-pin`);return}let n=await e.json();n.pin_configured?n.claude_authenticated?t(`enter-pin`):t(`connect-claude`):t(`set-pin`)}catch(r){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check failed:`,r),t(`set-pin`)}}e()},[]),(0,I.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&x(e)}).catch(()=>{})},[e]),(0,I.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,I.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function re(e){d(!0);try{let n=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e})});if(!n.ok){s((await n.json().catch(()=>({}))).error||`Invalid PIN`);return}let i=await n.json();y(i.session_key),D(i.onboardingComplete??!0),k(i.businessName);let o=ct(i.thinkingView);ee.current=o,j(o),r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}}return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,pinError:o,setPinError:s,showPin:c,setShowPin:l,pinLoading:u,authPolling:f,setAuthPolling:p,authLoading:m,setAuthLoading:h,disconnecting:g,sessionKey:v,setSessionKey:y,claudeInfo:b,setClaudeInfo:x,togglingContextMode:S,contextModeHint:w,onboardingComplete:E,businessName:O,expandAll:A,setExpandAll:j,expandAllDefaultRef:ee,pinInputRef:M,confirmPinInputRef:te,setPinFormRef:ne,handleSetPin:(0,I.useCallback)(async e=>{if(e.preventDefault(),u)return;if(s(``),n.length<4){s(`PIN must be at least 4 characters.`);return}if(n!==i){s(`PINs do not match.`);return}let o=n;d(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o})});if(!e.ok){s((await e.json().catch(()=>({}))).error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`);if((n.ok?await n.json():null)?.claude_authenticated){await re(o);return}r(``),a(``),t(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}},[n,i,u]),handleLogin:(0,I.useCallback)(async e=>{e.preventDefault(),s(``),await re(n)},[n]),handleContextModeToggle:(0,I.useCallback)(async()=>{if(!v||!b?.contextMode||S)return;let e=b.contextMode,t=e===`claude-code`?`managed`:`claude-code`;C(!0),x({...b,contextMode:t}),T(!0);let n=setTimeout(()=>T(!1),3e3);try{let r=await fetch(`/api/admin/account`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:v,contextMode:t})});r.ok||(console.error(`[context-mode-toggle] failed: ${r.status}`),x({...b,contextMode:e}),clearTimeout(n),T(!1))}catch(t){console.error(`[context-mode-toggle] error:`,t),x({...b,contextMode:e}),clearTimeout(n),T(!1)}finally{C(!1)}},[v,b,S]),handleDisconnect:(0,I.useCallback)(async()=>{_(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),y(null),t(`connect-claude`)},[]),handleLogout:(0,I.useCallback)(()=>{y(null),r(``),a(``),s(``),t(`enter-pin`)},[]),handleChangePin:(0,I.useCallback)(async()=>{if(!n){s(`Enter your current PIN first.`);return}d(!0),s(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){s((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),s(``),t(`set-pin`)}catch{s(`Could not connect.`)}finally{d(!1)}},[n])}}function ut(e){let{sessionKey:t,setAppState:n,startElapsedTimer:r,stopElapsedTimer:i,resetTimerState:a,pausedElapsedRef:o,expandAllDefaultRef:c,setExpandAll:l,getPendingFiles:u,clearPendingFiles:d,inputRef:f}=e,[p,m]=(0,I.useState)([]),[h,g]=(0,I.useState)(``),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)([]),x=(0,I.useRef)([]),[S,C]=(0,I.useState)(!1),[w,T]=(0,I.useState)(!1),E=(0,I.useRef)(!1),[D,O]=(0,I.useState)(0),[k,A]=(0,I.useState)(!1),j=(0,I.useRef)(null),ee=(0,I.useRef)(()=>{}),[M,te]=(0,I.useState)(new Set);function ne(e){x.current=e,b(e)}function re(e){j.current?.abort(),A(e)}async function ie(e){if(_||!t)return;A(!1),r(),v(!0);let a=new AbortController;j.current=a,m([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let r=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:a.signal});if(!r.ok){if(r.status===401&&(await r.json().catch(()=>({}))).error===`auth_expired`){n(`connect-claude`);return}throw Error(`Chat request failed`)}for await(let e of s(r)){if(e.type===`session_reset`){E.current=!0,j.current?.abort();break}if(e.type===`done`||e.type===`session_init`)continue;let t=e;m(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}}catch(e){e instanceof DOMException&&e.name===`AbortError`||(console.error(`[chat] admin sendMessage failed:`,e),m([{role:`maxy`,events:[{type:`text`,content:`Error: ${e instanceof Error?e.message:String(e)}`}],timestamp:Date.now()}]))}finally{i(m),v(!1),E.current?(E.current=!1,ae()):f.current?.focus()}}function ae(){m([]),T(!1),a(),te(new Set),l(c.current),ne([]),g(``),d(),A(!1),O(e=>e+1)}function oe(){_||S||ae()}function N(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}st.has(i??``)||te(t=>new Set(t).add(`${e}_${n}`)),P(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let se=(0,I.useMemo)(()=>{let e=new Set(M),t=[];for(let e=0;e<p.length;e++){let n=p[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[p,M]);async function P(e,a,c,l){if(!e&&(a??u()).length===0&&!k||_||!t)return;let h=k;A(!1),T(!1);let y=a??[...u()],b=y.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),S={role:`admin`,content:e,attachments:b.length>0?b:void 0,timestamp:c??Date.now(),hidden:l||void 0},C=p.length;m(e=>[...e,S]),g(``),a||d(),r(h?o.current:0),v(!0);let w=new AbortController;j.current=w;let D={role:`maxy`,events:[],timestamp:Date.now()};m(e=>[...e,D]);let O=C+1;try{let r,i={},a=c?new Date(c).toISOString():void 0;if(y.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),a&&n.append(`timestamp`,a);for(let e of y)n.append(`attachments`,e);r=n}else r=JSON.stringify({message:e,session_key:t,...a&&{timestamp:a}}),i={"Content-Type":`application/json`};let o=await fetch(`/api/admin/chat`,{method:`POST`,headers:i,body:r,signal:w.signal});if(!o.ok){if(o.status===401&&(await o.json().catch(()=>({}))).error===`auth_expired`){n(`connect-claude`);return}throw Error(`Chat request failed`)}for await(let e of s(o)){if(e.type===`session_reset`){E.current=!0;continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;m(e=>{let n=[...e],r=n[O];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name))return e;n[O]={...r,events:[...i,t]}}return n})}}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e);m(e=>{let n=[...e];return n[O]={role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()},n})}}finally{if(i(m),v(!1),E.current)E.current=!1,ae();else{let e=x.current;if(e.length>0){let[t,...n]=e;ne(n),P(t.text,t.files,t.timestamp)}else f.current?.focus()}}}return ee.current=P,{messages:p,setMessages:m,input:h,setInput:g,isStreaming:_,messageQueue:y,messageQueueRef:x,setQueue:ne,isCompacting:S,sessionCompacted:w,greetingGeneration:D,wasPaused:k,sendMessageRef:ee,submittedComponents:M,effectiveSubmitted:se,stopStreaming:re,sendSystemPrompt:ie,sendMessage:P,resetSession:ae,startNewSession:oe,handleComponentSubmit:N,handleCompactNow:(0,I.useCallback)(async()=>{if(!(!t||_||S)){C(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of s(e))if(t.type===`status`&&t.message){let e=t.message;m(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&T(!0)}finally{C(!1)}}},[t,_,S])}}function dt(){let[e,t]=(0,I.useState)([]),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(null),o=(0,I.useRef)(null),s=(0,I.useCallback)(e=>{a(null);let n=e.find(e=>!at.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV.`);return}let r=e.find(e=>e.size>ot);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,I.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,I.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,I.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,I.useCallback)(()=>{r(!1)},[]),onDrop:(0,I.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var L=f();function ft({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,I.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5&&o.current[e+1]?.focus()}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,L.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,L.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function pt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:f,onSubmit:m}=e;return(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,x.productName]}),(0,L.jsx)(`p`,{className:`connect-subtitle`,children:`Choose a PIN to secure your admin access.`}),(0,L.jsxs)(`form`,{ref:f,onSubmit:m,className:`connect-pin-form`,children:[(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a,autoFocus:!0}),(0,L.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!t||!r,loading:s,"aria-label":`Set PIN`,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsx)(d,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function mt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsx)(`h1`,{className:`connect-title`,children:x.productName}),(0,L.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`pin-options`,children:[(0,L.jsx)(d,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,L.jsx)(T,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function ht(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function m(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function h(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,L.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,L.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,L.jsx)(`button`,{onClick:h,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,L.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,L.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,L.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,L.jsx)(`div`,{style:{marginTop:`12px`},children:(0,L.jsx)(T,{variant:`primary`,onClick:m,disabled:r,children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,L.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,L.jsx)(`iframe`,{src:`/vnc-viewer.html?host=${window.location.hostname}&port=6080`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,L.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsxs)(`div`,{className:`connect-logos`,children:[(0,L.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`}),(0,L.jsx)(`span`,{className:`connect-logo-label`,children:`Claude`})]}),(0,L.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,L.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,L.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsx)(`span`,{className:`connect-logo-label`,children:x.productName})]})]}),(0,L.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,x.productName]}),(0,L.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,L.jsx)(T,{variant:`primary`,onClick:m,disabled:r,children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,L.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:a})]})})}function gt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,I.useState)(`Submitted`);return r?.title?(0,L.jsx)(b,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,L.jsxs)(`div`,{className:`confirm`,children:[(0,L.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,L.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,L.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,L.jsxs)(`div`,{className:`confirm__item`,children:[(0,L.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,L.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function _t({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,I.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,I.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,L.jsx)(b,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,L.jsxs)(`div`,{className:`info-card`,children:[(0,L.jsxs)(`div`,{className:`info-card__header`,children:[(0,L.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,L.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,L.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,L.jsxs)(`div`,{className:`info-card__field`,children:[(0,L.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,L.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,L.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function vt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,I.useState)(new Set),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,L.jsx)(b,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,L.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,L.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,L.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,L.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,L.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,L.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,L.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,L.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,L.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,L.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,L.jsx)(T,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function yt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,I.useState)({}),[s,c]=(0,I.useState)({}),[l,u]=(0,I.useState)({}),[f,p]=(0,I.useState)(`Submitted`);if((0,I.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let m=(e,t)=>{n||o(n=>({...n,[e]:t}))},h=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),g=()=>{if(!h||n)return;p(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},_=e=>e.description?`${e.label} — ${e.description}`:e.label,v=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},y=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,L.jsx)(b,{submitted:n,submittedLabel:f,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!h,onClick:g}],children:(0,L.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,L.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,L.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,L.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,L.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(d,{checked:a[e.name]===!0,onChange:t=>m(e.name,t),label:e.label,disabled:n}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,L.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,L.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,L.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,L.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>y(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,L.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,L.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),v(e))},disabled:n}),(0,L.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>v(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,L.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,L.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,L.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n,children:[(0,L.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,L.jsx)(`option`,{value:e.value,children:_(e)},e.value))]}):(0,L.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var bt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function xt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,I.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,I.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,L.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,L.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,L.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,L.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,L.jsx)(`span`,{className:`progress-tracker__icon`,children:bt[e.status]??`○`}),(0,L.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,L.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,L.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function St({handlePopout:e,disabled:t=!1}){let n=(0,I.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,I.useEffect)(()=>()=>n(),[n]);let r=(0,I.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,I.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Ct({data:e,onSubmit:t,submitted:n,isStreaming:r}){et();let{title:i}=e??{},[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(r===!1),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(r),m=i??`Browser`;(0,I.useEffect)(()=>{p.current===!0&&r===!1&&u(!0),p.current=r},[r]);let h=(0,I.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),g=(0,I.useCallback)(()=>{o(!1),u(!1);let e=typeof window<`u`?window.location.hostname:``,t=`/vnc-popout.html?host=${encodeURIComponent(e)}&port=6080&title=${encodeURIComponent(m)}`,n=window.open(t,`maxy-vnc-popout`,`width=1024,height=768`);n&&(d.current=n,c(!0),f.current=setInterval(()=>{d.current?.closed&&(h(),u(!0))},500))},[m,h]),_=(0,I.useCallback)(()=>{h(),o(!1),u(!0)},[h]),v=(0,I.useCallback)(()=>{h(),u(!1)},[h]),y=(0,I.useCallback)(()=>{u(!1)},[]),b=(0,I.useCallback)(()=>{h(),u(!1),o(!0)},[h]),x=(0,I.useCallback)(()=>o(!1),[]);(0,I.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&x()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,x]),(0,I.useEffect)(()=>()=>h(),[h]);let S=St({handlePopout:g,disabled:s||a});if(n)return null;let C=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return a?(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:x,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:_,"aria-label":`Minimise`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer-fullscreen__iframe`,title:m})]}):s?(0,L.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:v,"aria-label":`Pop back in`})]})]})}):l?(0,L.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:y,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&y(),children:[(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:b,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:y,"aria-label":`Expand`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:m,"aria-hidden":`true`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),i&&(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:b,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:_,"aria-label":`Minimise`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:m})]})}var wt=e((e=>{var t=_();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),Tt=e(((e,t)=>{t.exports=wt()})),Et=Tt(),Dt=g(i(),1);function Ot(e){this.content=e}Ot.prototype={constructor:Ot,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new Ot(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ot(n)},addToStart:function(e,t){return new Ot([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ot(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new Ot(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ot.from(e),e.size?new Ot(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ot.from(e),e.size?new Ot(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ot.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},Ot.from=function(e){if(e instanceof Ot)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ot(t)};function kt(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=kt(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function At(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=At(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var R=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return kt(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return At(this,e,t,n)}findIndex(e){if(e==0)return Mt(0,e);if(e==this.size)return Mt(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?Mt(t+1,i):Mt(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};R.empty=new R([],0);var jt={index:0,offset:0};function Mt(e,t){return jt.index=e,jt.offset=t,jt}function Nt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!Nt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!Nt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var z=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Nt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};z.none=[];var Pt=class extends Error{},B=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=It(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(Ft(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(R.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};B.empty=new B(R.empty,0,0);function Ft(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(Ft(a.content,t-i-1,n-i-1)))}function It(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=It(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function Lt(e,t,n){if(n.openStart>e.depth)throw new Pt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new Pt(`Inconsistent open depths`);return Rt(e,t,n,0)}function Rt(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Rt(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return Ut(a,Gt(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return Ut(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=Kt(n,e);return Ut(a,Wt(e,i,o,t,r))}}function zt(e,t){if(!t.type.compatibleContent(e.type))throw new Pt(`Cannot join `+t.type.name+` onto `+e.type.name)}function Bt(e,t,n){let r=e.node(n);return zt(r,t.node(n)),r}function Vt(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function Ht(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(Vt(e.nodeAfter,r),a++));for(let e=a;e<o;e++)Vt(i.child(e),r);t&&t.depth==n&&t.textOffset&&Vt(t.nodeBefore,r)}function Ut(e,t){return e.type.checkContent(t),e.copy(t)}function Wt(e,t,n,r,i){let a=e.depth>i&&Bt(e,t,i+1),o=r.depth>i&&Bt(n,r,i+1),s=[];return Ht(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(zt(a,o),Vt(Ut(a,Wt(e,t,n,r,i+1)),s)):(a&&Vt(Ut(a,Gt(e,t,i+1)),s),Ht(t,n,i,s),o&&Vt(Ut(o,Gt(n,r,i+1)),s)),Ht(r,null,i,s),new R(s)}function Gt(e,t,n){let r=[];return Ht(null,e,n,r),e.depth>n&&Vt(Ut(Bt(e,t,n+1),Gt(e,t,n+1)),r),Ht(t,null,n,r),new R(r)}function Kt(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(R.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var qt=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return z.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Zt(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=Xt.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else Xt.set(t,r=new Jt);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Yt,i}},Jt=class{constructor(){this.elts=[],this.i=0}},Yt=12,Xt=new WeakMap,Zt=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},Qt=Object.create(null),$t=class e{constructor(e,t,n,r=z.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||R.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&Nt(this.attrs,t||e.defaultAttrs||Qt)&&z.sameSet(this.marks,n||z.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return B.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new B(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return Lt(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return qt.resolveCached(this,e)}resolveNoCache(e){return qt.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),tn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=R.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=z.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!z.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=R.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};$t.prototype.text=void 0;var en=class e extends $t{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):tn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function tn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var nn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new rn(t,n);if(r.next==null)return e.empty;let i=an(r);r.next&&r.err(`Unexpected trailing text`);let a=hn(fn(i));return gn(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return R.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
1
|
+
import{A as e,C as t,D as n,E as r,O as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,j as g,k as _,l as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,v as E,w as D,x as O,y as k}from"./ChatInput-BWyEqP0k.js";var A=r(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),j=r(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),ee=r(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),M=r(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),te=r(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),ne=r(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),re=r(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ie=r(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),ae=r(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),oe=r(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),se=r(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),ce=r(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),le=r(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),N=r(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),ue=r(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),P=r(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),de=r(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),fe=r(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),F=r(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),pe=r(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),me=r(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),he=r(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),ge=r(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),_e=r(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),ve=r(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ye=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),be=r(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),xe=r(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Se=r(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ce=r(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),we=r(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Te=r(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ee=r(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),De=r(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Oe=r(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ke=r(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Ae=r(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),je=r(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),Me=r(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Ne=r(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Pe=r(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),Fe=r(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),Ie=r(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Le=r(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Re=r(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ze=r(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Be=r(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),Ve=r(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),He=r(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),Ue=r(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),We=r(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Ge=r(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),Ke=r(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),qe=r(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Je=r(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ye=r(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Xe=r(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),Ze=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Qe=r(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),$e=n(),I=g(_(),1);function et(){(0,I.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&E(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&E(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function tt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function nt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function rt(){let[e,t]=(0,I.useState)(0),n=(0,I.useRef)(0),r=(0,I.useRef)(0),i=(0,I.useRef)(null),[a,o]=(0,I.useState)(0),s=(0,I.useRef)(0),c=(0,I.useRef)(null),l=(0,I.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,I.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,I.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,I.useCallback)(()=>{s.current=0,o(0)},[])}}var it=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html`,at=new Set(it.split(`,`)),ot=20*1024*1024,st=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function ct(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function lt(){let[e,t]=(0,I.useState)(`loading`),[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(``),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)(null),[b,x]=(0,I.useState)(null),[S,C]=(0,I.useState)(!1),[w,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(void 0),[O,k]=(0,I.useState)(void 0),[A,j]=(0,I.useState)(void 0),ee=(0,I.useRef)(void 0),M=(0,I.useRef)(null),te=(0,I.useRef)(null),ne=(0,I.useRef)(null);(0,I.useEffect)(()=>{async function e(n=2){try{let e=await fetch(`/api/health`);if(!e.ok){t(`set-pin`);return}let n=await e.json();n.pin_configured?n.claude_authenticated?t(`enter-pin`):t(`connect-claude`):t(`set-pin`)}catch(r){if(n>0)return await new Promise(e=>setTimeout(e,1500)),e(n-1);console.error(`[admin] health check failed:`,r),t(`set-pin`)}}e()},[]),(0,I.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&x(e)}).catch(()=>{})},[e]),(0,I.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,I.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function re(e){d(!0);try{let n=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e})});if(!n.ok){s((await n.json().catch(()=>({}))).error||`Invalid PIN`);return}let i=await n.json();y(i.session_key),D(i.onboardingComplete??!0),k(i.businessName);let o=ct(i.thinkingView);ee.current=o,j(o),r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}}return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,pinError:o,setPinError:s,showPin:c,setShowPin:l,pinLoading:u,authPolling:f,setAuthPolling:p,authLoading:m,setAuthLoading:h,disconnecting:g,sessionKey:v,setSessionKey:y,claudeInfo:b,setClaudeInfo:x,togglingContextMode:S,contextModeHint:w,onboardingComplete:E,businessName:O,expandAll:A,setExpandAll:j,expandAllDefaultRef:ee,pinInputRef:M,confirmPinInputRef:te,setPinFormRef:ne,handleSetPin:(0,I.useCallback)(async e=>{if(e.preventDefault(),u)return;if(s(``),n.length<4){s(`PIN must be at least 4 characters.`);return}if(n!==i){s(`PINs do not match.`);return}let o=n;d(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o})});if(!e.ok){s((await e.json().catch(()=>({}))).error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`);if((n.ok?await n.json():null)?.claude_authenticated){await re(o);return}r(``),a(``),t(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}},[n,i,u]),handleLogin:(0,I.useCallback)(async e=>{e.preventDefault(),s(``),await re(n)},[n]),handleContextModeToggle:(0,I.useCallback)(async()=>{if(!v||!b?.contextMode||S)return;let e=b.contextMode,t=e===`claude-code`?`managed`:`claude-code`;C(!0),x({...b,contextMode:t}),T(!0);let n=setTimeout(()=>T(!1),3e3);try{let r=await fetch(`/api/admin/account`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:v,contextMode:t})});r.ok||(console.error(`[context-mode-toggle] failed: ${r.status}`),x({...b,contextMode:e}),clearTimeout(n),T(!1))}catch(t){console.error(`[context-mode-toggle] error:`,t),x({...b,contextMode:e}),clearTimeout(n),T(!1)}finally{C(!1)}},[v,b,S]),handleDisconnect:(0,I.useCallback)(async()=>{_(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),y(null),t(`connect-claude`)},[]),handleLogout:(0,I.useCallback)(()=>{y(null),r(``),a(``),s(``),t(`enter-pin`)},[]),handleChangePin:(0,I.useCallback)(async()=>{if(!n){s(`Enter your current PIN first.`);return}d(!0),s(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){s((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),s(``),t(`set-pin`)}catch{s(`Could not connect.`)}finally{d(!1)}},[n])}}function ut(e){let{sessionKey:t,setAppState:n,startElapsedTimer:r,stopElapsedTimer:i,resetTimerState:a,pausedElapsedRef:o,expandAllDefaultRef:c,setExpandAll:l,getPendingFiles:u,clearPendingFiles:d,inputRef:f}=e,[p,m]=(0,I.useState)([]),[h,g]=(0,I.useState)(``),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)([]),x=(0,I.useRef)([]),[S,C]=(0,I.useState)(!1),[w,T]=(0,I.useState)(!1),E=(0,I.useRef)(!1),[D,O]=(0,I.useState)(0),[k,A]=(0,I.useState)(!1),j=(0,I.useRef)(null),ee=(0,I.useRef)(()=>{}),[M,te]=(0,I.useState)(new Set);function ne(e){x.current=e,b(e)}function re(e){j.current?.abort(),A(e)}async function ie(e){if(_||!t)return;A(!1),r(),v(!0);let a=new AbortController;j.current=a,m([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let r=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:a.signal});if(!r.ok){if(r.status===401&&(await r.json().catch(()=>({}))).error===`auth_expired`){n(`connect-claude`);return}throw Error(`Chat request failed`)}for await(let e of s(r)){if(e.type===`session_reset`){E.current=!0,j.current?.abort();break}if(e.type===`done`||e.type===`session_init`)continue;let t=e;m(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}}catch(e){e instanceof DOMException&&e.name===`AbortError`||(console.error(`[chat] admin sendMessage failed:`,e),m([{role:`maxy`,events:[{type:`text`,content:`Error: ${e instanceof Error?e.message:String(e)}`}],timestamp:Date.now()}]))}finally{i(m),v(!1),E.current?(E.current=!1,ae()):f.current?.focus()}}function ae(){m([]),T(!1),a(),te(new Set),l(c.current),ne([]),g(``),d(),A(!1),O(e=>e+1)}function oe(){_||S||ae()}function se(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}st.has(i??``)||te(t=>new Set(t).add(`${e}_${n}`)),le(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let ce=(0,I.useMemo)(()=>{let e=new Set(M),t=[];for(let e=0;e<p.length;e++){let n=p[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[p,M]);async function le(e,a,c,l){if(!e&&(a??u()).length===0&&!k||_||!t)return;let h=k;A(!1),T(!1);let y=a??[...u()],b=y.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),S={role:`admin`,content:e,attachments:b.length>0?b:void 0,timestamp:c??Date.now(),hidden:l||void 0},C=p.length;m(e=>[...e,S]),g(``),a||d(),r(h?o.current:0),v(!0);let w=new AbortController;j.current=w;let D={role:`maxy`,events:[],timestamp:Date.now()};m(e=>[...e,D]);let O=C+1;try{let r,i={},a=c?new Date(c).toISOString():void 0;if(y.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),a&&n.append(`timestamp`,a);for(let e of y)n.append(`attachments`,e);r=n}else r=JSON.stringify({message:e,session_key:t,...a&&{timestamp:a}}),i={"Content-Type":`application/json`};let o=await fetch(`/api/admin/chat`,{method:`POST`,headers:i,body:r,signal:w.signal});if(!o.ok){if(o.status===401&&(await o.json().catch(()=>({}))).error===`auth_expired`){n(`connect-claude`);return}throw Error(`Chat request failed`)}for await(let e of s(o)){if(e.type===`session_reset`){E.current=!0;continue}if(e.type===`done`||e.type===`session_init`)continue;let t=e;m(e=>{let n=[...e],r=n[O];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name))return e;n[O]={...r,events:[...i,t]}}return n})}}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e);m(e=>{let n=[...e];return n[O]={role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()},n})}}finally{if(i(m),v(!1),E.current)E.current=!1,ae();else{let e=x.current;if(e.length>0){let[t,...n]=e;ne(n),le(t.text,t.files,t.timestamp)}else f.current?.focus()}}}return ee.current=le,{messages:p,setMessages:m,input:h,setInput:g,isStreaming:_,messageQueue:y,messageQueueRef:x,setQueue:ne,isCompacting:S,sessionCompacted:w,greetingGeneration:D,wasPaused:k,sendMessageRef:ee,submittedComponents:M,effectiveSubmitted:ce,stopStreaming:re,sendSystemPrompt:ie,sendMessage:le,resetSession:ae,startNewSession:oe,handleComponentSubmit:se,handleCompactNow:(0,I.useCallback)(async()=>{if(!(!t||_||S)){C(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of s(e))if(t.type===`status`&&t.message){let e=t.message;m(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&T(!0)}finally{C(!1)}}},[t,_,S])}}function dt(){let[e,t]=(0,I.useState)([]),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(null),o=(0,I.useRef)(null),s=(0,I.useCallback)(e=>{a(null);let n=e.find(e=>!at.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV.`);return}let r=e.find(e=>e.size>ot);if(r){a(`"${r.name}" exceeds the 20 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,I.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,I.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,I.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,I.useCallback)(()=>{r(!1)},[]),onDrop:(0,I.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var L=f();function ft({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,I.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5&&o.current[e+1]?.focus()}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,L.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,L.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function pt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:f,onSubmit:m}=e;return(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,x.productName]}),(0,L.jsx)(`p`,{className:`connect-subtitle`,children:`Choose a PIN to secure your admin access.`}),(0,L.jsxs)(`form`,{ref:f,onSubmit:m,className:`connect-pin-form`,children:[(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a,autoFocus:!0}),(0,L.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!t||!r,loading:s,"aria-label":`Set PIN`,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsx)(d,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function mt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsx)(`h1`,{className:`connect-title`,children:x.productName}),(0,L.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,L.jsxs)(`div`,{className:`pin-input-row`,children:[(0,L.jsx)(ft,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`pin-options`,children:[(0,L.jsx)(d,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,L.jsx)(T,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function ht(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function m(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function h(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,L.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,L.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,L.jsx)(`button`,{onClick:h,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,L.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,L.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,L.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,L.jsx)(`div`,{style:{marginTop:`12px`},children:(0,L.jsx)(T,{variant:`primary`,onClick:m,disabled:r,children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,L.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,L.jsx)(`iframe`,{src:`/vnc-viewer.html?host=${window.location.hostname}&port=6080`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,L.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,L.jsx)(`div`,{className:`connect-page`,children:(0,L.jsxs)(`div`,{className:`connect-content`,children:[(0,L.jsxs)(`div`,{className:`connect-logos`,children:[(0,L.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`}),(0,L.jsx)(`span`,{className:`connect-logo-label`,children:`Claude`})]}),(0,L.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,L.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,L.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,L.jsx)(`img`,{src:p,alt:x.productName,className:`connect-logo connect-logo--maxy`}),!x.logoContainsName&&(0,L.jsx)(`span`,{className:`connect-logo-label`,children:x.productName})]})]}),(0,L.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,x.productName]}),(0,L.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,L.jsx)(T,{variant:`primary`,onClick:m,disabled:r,children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,L.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,L.jsx)(`p`,{className:`admin-pin-error`,children:a})]})})}function gt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,I.useState)(`Submitted`);return r?.title?(0,L.jsx)(b,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,L.jsxs)(`div`,{className:`confirm`,children:[(0,L.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,L.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,L.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,L.jsxs)(`div`,{className:`confirm__item`,children:[(0,L.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,L.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function _t({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,I.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,I.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,L.jsx)(b,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,L.jsxs)(`div`,{className:`info-card`,children:[(0,L.jsxs)(`div`,{className:`info-card__header`,children:[(0,L.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,L.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,L.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,L.jsxs)(`div`,{className:`info-card__field`,children:[(0,L.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,L.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,L.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function vt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,I.useState)(new Set),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,L.jsx)(b,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,L.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,L.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,L.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,L.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,L.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,L.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,L.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,L.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,L.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,L.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,L.jsx)(T,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function yt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,I.useState)({}),[s,c]=(0,I.useState)({}),[l,u]=(0,I.useState)({}),[f,p]=(0,I.useState)(`Submitted`);if((0,I.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let m=(e,t)=>{n||o(n=>({...n,[e]:t}))},h=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),g=()=>{if(!h||n)return;p(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},_=e=>e.description?`${e.label} — ${e.description}`:e.label,v=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},y=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,L.jsx)(b,{submitted:n,submittedLabel:f,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!h,onClick:g}],children:(0,L.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,L.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,L.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,L.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,L.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(d,{checked:a[e.name]===!0,onChange:t=>m(e.name,t),label:e.label,disabled:n}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,L.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,L.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,L.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,L.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>y(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,L.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,L.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),v(e))},disabled:n}),(0,L.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>v(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,L.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,L.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,L.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,L.jsxs)(`select`,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n,children:[(0,L.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,L.jsx)(`option`,{value:e.value,children:_(e)},e.value))]}):(0,L.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>m(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var bt={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function xt({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,I.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,I.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,L.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,L.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,L.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,L.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,L.jsx)(`span`,{className:`progress-tracker__icon`,children:bt[e.status]??`○`}),(0,L.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,L.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,L.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function St({handlePopout:e,disabled:t=!1}){let n=(0,I.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,I.useEffect)(()=>()=>n(),[n]);let r=(0,I.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,I.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function Ct({data:e,onSubmit:t,submitted:n,isStreaming:r}){et();let{title:i}=e??{},[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(r===!1),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(r),m=i??`Browser`;(0,I.useEffect)(()=>{p.current===!0&&r===!1&&u(!0),p.current=r},[r]);let h=(0,I.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),g=(0,I.useCallback)(()=>{o(!1),u(!1);let e=typeof window<`u`?window.location.hostname:``,t=`/vnc-popout.html?host=${encodeURIComponent(e)}&port=6080&title=${encodeURIComponent(m)}`,n=window.open(t,`maxy-vnc-popout`,`width=1024,height=768`);n&&(d.current=n,c(!0),f.current=setInterval(()=>{d.current?.closed&&(h(),u(!0))},500))},[m,h]),_=(0,I.useCallback)(()=>{h(),o(!1),u(!0)},[h]),v=(0,I.useCallback)(()=>{h(),u(!1)},[h]),y=(0,I.useCallback)(()=>{u(!1)},[]),b=(0,I.useCallback)(()=>{h(),u(!1),o(!0)},[h]),x=(0,I.useCallback)(()=>o(!1),[]);(0,I.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&x()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,x]),(0,I.useEffect)(()=>()=>h(),[h]);let S=St({handlePopout:g,disabled:s||a});if(n)return null;let C=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return a?(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:x,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:_,"aria-label":`Minimise`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer-fullscreen__iframe`,title:m})]}):s?(0,L.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:v,"aria-label":`Pop back in`})]})]})}):l?(0,L.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:y,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&y(),children:[(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:m}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:b,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:y,"aria-label":`Expand`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:m,"aria-hidden":`true`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer__bar`,...S,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),i&&(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,L.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:g,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:b,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:_,"aria-label":`Minimise`})]})]}),(0,L.jsx)(`iframe`,{src:C,className:`browser-viewer__iframe`,title:m})]})}var wt=e((e=>{var t=_();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),Tt=e(((e,t)=>{t.exports=wt()})),Et=Tt(),Dt=g(i(),1);function Ot(e){this.content=e}Ot.prototype={constructor:Ot,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new Ot(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Ot(n)},addToStart:function(e,t){return new Ot([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Ot(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new Ot(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Ot.from(e),e.size?new Ot(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Ot.from(e),e.size?new Ot(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Ot.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},Ot.from=function(e){if(e instanceof Ot)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Ot(t)};function kt(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=kt(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function At(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=At(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var R=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return kt(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return At(this,e,t,n)}findIndex(e){if(e==0)return Mt(0,e);if(e==this.size)return Mt(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?Mt(t+1,i):Mt(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};R.empty=new R([],0);var jt={index:0,offset:0};function Mt(e,t){return jt.index=e,jt.offset=t,jt}function Nt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!Nt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!Nt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var z=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Nt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};z.none=[];var Pt=class extends Error{},B=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=It(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(Ft(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(R.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};B.empty=new B(R.empty,0,0);function Ft(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(Ft(a.content,t-i-1,n-i-1)))}function It(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=It(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function Lt(e,t,n){if(n.openStart>e.depth)throw new Pt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new Pt(`Inconsistent open depths`);return Rt(e,t,n,0)}function Rt(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Rt(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return Ut(a,Gt(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return Ut(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=Kt(n,e);return Ut(a,Wt(e,i,o,t,r))}}function zt(e,t){if(!t.type.compatibleContent(e.type))throw new Pt(`Cannot join `+t.type.name+` onto `+e.type.name)}function Bt(e,t,n){let r=e.node(n);return zt(r,t.node(n)),r}function Vt(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function Ht(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(Vt(e.nodeAfter,r),a++));for(let e=a;e<o;e++)Vt(i.child(e),r);t&&t.depth==n&&t.textOffset&&Vt(t.nodeBefore,r)}function Ut(e,t){return e.type.checkContent(t),e.copy(t)}function Wt(e,t,n,r,i){let a=e.depth>i&&Bt(e,t,i+1),o=r.depth>i&&Bt(n,r,i+1),s=[];return Ht(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(zt(a,o),Vt(Ut(a,Wt(e,t,n,r,i+1)),s)):(a&&Vt(Ut(a,Gt(e,t,i+1)),s),Ht(t,n,i,s),o&&Vt(Ut(o,Gt(n,r,i+1)),s)),Ht(r,null,i,s),new R(s)}function Gt(e,t,n){let r=[];return Ht(null,e,n,r),e.depth>n&&Vt(Ut(Bt(e,t,n+1),Gt(e,t,n+1)),r),Ht(t,null,n,r),new R(r)}function Kt(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(R.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var qt=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return z.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Zt(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=Xt.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else Xt.set(t,r=new Jt);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Yt,i}},Jt=class{constructor(){this.elts=[],this.i=0}},Yt=12,Xt=new WeakMap,Zt=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},Qt=Object.create(null),$t=class e{constructor(e,t,n,r=z.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||R.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&Nt(this.attrs,t||e.defaultAttrs||Qt)&&z.sameSet(this.marks,n||z.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return B.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new B(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return Lt(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return qt.resolveCached(this,e)}resolveNoCache(e){return qt.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),tn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=R.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=z.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!z.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=R.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};$t.prototype.text=void 0;var en=class e extends $t{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):tn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function tn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var nn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new rn(t,n);if(r.next==null)return e.empty;let i=an(r);r.next&&r.err(`Unexpected trailing text`);let a=hn(fn(i));return gn(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return R.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
2
2
|
`)}};nn.empty=new nn(!0);var rn=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function an(e){let t=[];do t.push(on(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function on(e){let t=[];do t.push(sn(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function sn(e){let t=dn(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=ln(e,t);else break;return t}function cn(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function ln(e,t){let n=cn(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:cn(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function un(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function dn(e){if(e.eat(`(`)){let t=an(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=un(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function fn(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function pn(e,t){return t-e}function mn(e,t){let n=[];return r(t),n.sort(pn);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function hn(e){let t=Object.create(null);return n(mn(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);mn(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new nn(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(pn);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function gn(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function _n(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function vn(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function yn(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function bn(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Cn(e,r,t[r]);return n}var xn=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=bn(e,n.attrs),this.defaultAttrs=_n(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==nn.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:vn(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new $t(this,this.computeAttrs(e),R.from(t),z.setFrom(n))}createChecked(e=null,t,n){return t=R.from(t),this.checkContent(t),new $t(this,this.computeAttrs(e),t,z.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=R.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(R.empty,!0);return i?new $t(this,e,t.append(i),z.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){yn(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:z.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function Sn(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var Cn=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?Sn(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},wn=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=bn(e,r.attrs),this.excluded=null;let i=_n(this.attrs);this.instance=i?new z(this,i):null}create(e=null){return!e&&this.instance?this.instance:new z(this,vn(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){yn(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},Tn=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=Ot.from(e.nodes),t.marks=Ot.from(e.marks||{}),this.nodes=xn.compile(this.spec.nodes,this),this.marks=wn.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=nn.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?En(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:En(this,n.split(` `))}this.nodeFromJSON=e=>$t.fromJSON(this,e),this.markFromJSON=e=>z.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof xn))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new en(n,n.defaultAttrs,e,z.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function En(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function Dn(e){return e.tag!=null}function On(e){return e.style!=null}var kn=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(Dn(e))this.tags.push(e);else if(On(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new Rn(this,t,!1);return n.addAll(e,z.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new Rn(this,t,!0);return n.addAll(e,z.none,t.from,t.to),B.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(Bn(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=Vn(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=Vn(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},An={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},jn={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Mn={ol:!0,ul:!0},Nn=1,Pn=2,Fn=4;function In(e,t,n){return t==null?e&&e.whitespace==`pre`?Nn|Pn:n&~Fn:(t?Nn:0)|(t===`full`?Pn:0)}var Ln=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=z.none,this.match=i||(a&Fn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(R.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Nn)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=R.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(R.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!An.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},Rn=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=In(null,t.preserveWhitespace,0)|(n?Fn:0);i=r?new Ln(r.type,r.attrs,z.none,!0,t.topMatch||r.type.contentMatch,a):n?new Ln(null,null,z.none,!0,null,a):new Ln(e.schema.topNodeType,null,z.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&Pn?`full`:this.localPreserveWS||(r.options&Nn)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
|
|
3
3
|
`);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;Mn.hasOwnProperty(a)&&this.parser.normalizeLists&&zn(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:jn.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(An.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
|
|
4
4
|
`),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=z.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):Hn(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=In(e,i,a.options);a.options&Fn&&a.content.length==0&&(o|=Fn);let s=z.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):Hn(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new Ln(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=Nn);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+(r?0:1),a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function zn(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&Mn.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function Bn(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function Vn(e){let t={};for(let n in e)t[n]=e[n];return t}function Hn(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var Un=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=Gn(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:r}=Yn(Gn(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&Yn(Gn(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return Yn(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=Wn(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return Wn(e.marks)}};function Wn(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function Gn(e){return e.document||window.document}var Kn=new WeakMap;function qn(e){let t=Kn.get(e);return t===void 0&&Kn.set(e,t=Jn(e)),t}function Jn(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function Yn(e,t,n,r){if(typeof t==`string`)return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=qn(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else{let{dom:t,contentDOM:i}=Yn(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var Xn=65535,Zn=2**16;function Qn(e,t){return e+t*Zn}function $n(e){return e&Xn}function er(e){return(e-(e&Xn))/Zn}var tr=1,nr=2,rr=4,ir=8,ar=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&ir)>0}get deletedBefore(){return(this.delInfo&(tr|rr))>0}get deletedAfter(){return(this.delInfo&(nr|rr))>0}get deletedAcross(){return(this.delInfo&rr)>0}},or=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=$n(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+er(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:Qn(o/3,e-s),f=e==s?nr:e==u?tr:rr;return(t<0?e!=s:e!=u)&&(f|=ir),new ar(a,f,d)}r+=l-c}return n?e+r:new ar(e+r,0,null)}touches(e,t){let n=0,r=$n(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};or.empty=new or([]);var sr=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new ar(e,r,null)}},cr=Object.create(null),lr=class{getMap(){return or.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=cr[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in cr)throw RangeError(`Duplicate use of step JSON ID `+e);return cr[e]=t,t.prototype.jsonID=e,t}},ur=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof Pt)return e.fail(t.message);throw t}}};function dr(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(dr(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return R.fromArray(r)}var fr=class e extends lr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new B(dr(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return ur.fromReplace(e,this.from,this.to,i)}invert(){return new pr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};lr.jsonID(`addMark`,fr);var pr=class e extends lr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new B(dr(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return ur.fromReplace(e,this.from,this.to,n)}invert(){return new fr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};lr.jsonID(`removeMark`,pr);var mr=class e extends lr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return ur.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return ur.fromReplace(e,this.pos,this.pos+1,new B(R.from(n),0,t.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new hr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};lr.jsonID(`addNodeMark`,mr);var hr=class e extends lr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return ur.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return ur.fromReplace(e,this.pos,this.pos+1,new B(R.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new mr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};lr.jsonID(`removeNodeMark`,hr);var gr=class e extends lr{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&vr(e,this.from,this.to)?ur.fail(`Structure replace would overwrite content`):ur.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new or([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?B.empty:new B(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?B.empty:new B(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,B.fromJSON(t,n.slice),!!n.structure)}};lr.jsonID(`replace`,gr);var _r=class e extends lr{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&(vr(e,this.from,this.gapFrom)||vr(e,this.gapTo,this.to)))return ur.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return ur.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?ur.fromReplace(e,this.from,this.to,n):ur.fail(`Content does not fit in gap`)}getMap(){return new or([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,B.fromJSON(t,n.slice),n.insert,!!n.structure)}};lr.jsonID(`replaceAround`,_r);function vr(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function yr(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new pr(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new fr(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function br(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof wn){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new pr(t.from,t.to,t.style)))}function xr(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new gr(s,l,B.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new pr(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new B(R.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new gr(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(R.empty,!0);e.replace(s,s,new B(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function Sr(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function Cr(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!Sr(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function wr(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=R.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=R.from(r.node(e).copy(u)),d++):c--;let f=R.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=R.from(i.node(e).copy(f)),p++):l++;e.step(new _r(c,l,o,s,new B(u.append(f),d,p),u.size-d,!0))}function Tr(e,t,n=null,r=e){let i=Dr(e,t),a=i&&Or(r,t);return a?i.map(Er).concat({type:t,attrs:n}).concat(a.map(Er)):null}function Er(e){return{type:e,attrs:null}}function Dr(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function Or(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function kr(e,t,n){let r=R.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=R.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new _r(i,a,i,a,new B(r,0,0),n.length,!0))}function Ar(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&Nr(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&Mr(e,t,n,a),xr(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new _r(c,l,c+1,l-1,new B(R.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&jr(e,t,n,a),!1}})}function jr(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function Mr(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`
|
|
@@ -213,7 +213,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
213
213
|
a { color: #7C8C72; }
|
|
214
214
|
.title { font-size: 20px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px;
|
|
215
215
|
border-bottom: 1px solid rgba(0,0,0,0.06); }
|
|
216
|
-
`;function hw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:o,filePath:s,readOnly:c}=e??{},l=i??`Document`,u=(0,I.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...s?{filePath:s}:{}}))},[t,s]),[d,f]=(0,I.useState)(`idle`),p=(0,I.useRef)(null),m=(0,I.useRef)(null),[h,g]=(0,I.useState)(!1),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)(`idle`),x=(0,I.useRef)(o),S=(0,I.useMemo)(()=>Cx.extend({markdownTokenizer:null}),[]),C=(0,I.useMemo)(()=>[TS.configure({orderedList:!1}),S,Xb.configure({openOnClick:!1}),lw,fw],[S]),w=(0,I.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),E=$m({extensions:C,content:(0,I.useMemo)(()=>o&&w(o),[o,w]),contentType:`markdown`,editable:!c,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{c||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...s?{filePath:s}:{}})),u(`auto-saved`),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)},onFocus:()=>v(!0),onBlur:()=>v(!1)}),D=uw({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,I.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=mw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=E?.getMarkdown()??``,n.body.appendChild(a)},[E]),onSyncMessage:(0,I.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&E&&E.commands.setContent(w(t.markdown),{contentType:`markdown`})},[E,w])});(0,I.useEffect)(()=>{D.poppedOut&&E&&D.syncToPopout({type:`content`,markdown:E.getMarkdown(),title:l})},[D.poppedOut]);let O=dw({onSubmit:t}),k=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!E||!o||o===x.current)return;x.current=o;let e=w(o);if(k.current&&=(E.off(`blur`,k.current),null),!E.isFocused)E.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{E.commands.setContent(e,{contentType:`markdown`}),E.off(`blur`,t),k.current=null};k.current=t,E.on(`blur`,t)}},[E,o,w]),(0,I.useEffect)(()=>(u(`rendered`),()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)}),[]);let A=(0,I.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection;e!==t&&O.openCommentInput()},[E,O]),j=(0,I.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection,n=E.state.doc.textBetween(e,t);if(!n)return;let r=O.submitComment(n,{startOffset:e,endOffset:t});r&&E.chain().focus().setMark(`comment`,{commentId:r,commentText:O.commentText,createdAt:new Date().toISOString()}).run()},[E,O]),M=(0,I.useCallback)(()=>{c||!E||(v(!0),E.commands.focus())},[c,E]),te=(0,I.useCallback)(()=>{if(!E||!s)return;let e=E.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:s})),u(`approved`),b(`approved`))},[E,s,t,u]),re=(0,I.useCallback)(()=>{if(!E)return;let e=E.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...s?{filePath:s}:{}}))},[E,l,s,t]);if(n)return null;if(h||!E)return(0,L.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,L.jsx)(pw,{content:o||``})]});let ie=typeof window<`u`&&window.innerWidth<640,ae=typeof BroadcastChannel<`u`,oe=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),y===`approved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),c&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),s&&!c&&y!==`approved`&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ne,onClick:te,"aria-label":`Approve`,children:`Approve`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ue,onClick:re,"aria-label":`Download`}),O.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:O.sendComments,children:[`Send `,O.pendingComments.length,` comment`,O.pendingComments.length>1?`s`:``]}),!ie&&ae&&!D.poppedOut&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:D.handlePopout,"aria-label":`Pop out`}),!D.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:D.handleFullscreen,"aria-label":`Full screen`}),D.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:D.exitFullscreen,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:D.handleMinimise,"aria-label":`Minimise`})]}),N=c?null:(0,L.jsx)(fv,{editor:E,children:(0,L.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ee,onClick:()=>E.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":E.isActive(`bold`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:be,onClick:()=>E.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":E.isActive(`italic`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ce,onClick:()=>{let e=window.prompt(`URL`);e&&E.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":E.isActive(`link`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:P,onClick:()=>E.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":E.isActive(`code`)}),(0,L.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ae,onClick:A,"aria-label":`Add comment`})]})}),se=O.showCommentInput?(0,L.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,L.jsx)(`input`,{ref:O.commentInputRef,type:`text`,value:O.commentText,onChange:e=>O.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&j(),e.key===`Escape`&&O.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,L.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,L.jsx)(T,{variant:`primary`,size:`sm`,onClick:j,disabled:!O.commentText.trim(),children:`Add`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:O.cancelComment,"aria-label":`Cancel`})]})]}):null;if(D.fullscreen)return(0,L.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),oe]}),(0,L.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:_||c?(0,L.jsxs)(L.Fragment,{children:[N,se,(0,L.jsx)(Gm,{editor:E})]}):(0,L.jsx)(`div`,{className:`doc-editor__preview`,onClick:M,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&M(),children:(0,L.jsx)(pw,{content:E?.getMarkdown()??o??``})})})]});if(D.poppedOut)return(0,L.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:D.handlePopIn,"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:D.handleMinimise,"aria-label":`Close`})]})]})});if(D.minimised)return(0,L.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:D.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&D.handleExpand(),children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!ie&&ae&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:D.handlePopout,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:D.handleFullscreen,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:D.handleExpand,"aria-label":`Expand`})]})]})});let ce=E?.getMarkdown()??o??``;return(0,L.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),oe]}),(0,L.jsx)(`div`,{className:`doc-editor__body`,children:_||c?(0,L.jsxs)(L.Fragment,{children:[N,se,(0,L.jsx)(Gm,{editor:E})]}):(0,L.jsx)(`div`,{className:`doc-editor__preview`,onClick:M,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&M(),children:(0,L.jsx)(pw,{content:ce})})})]})}var gw=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,_w=zp.create({name:`image`,addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?`inline`:`block`},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?`img[src]`:`img[src]:not([src^="data:"])`}]},renderHTML({HTMLAttributes:e}){return[`img`,Fd(this.options.HTMLAttributes,e)]},parseMarkdown:(e,t)=>t.createNode(`image`,{src:e.href,title:e.title,alt:e.text}),renderMarkdown:e=>{let t=e.attrs?.src??``,n=e.attrs?.alt??``,r=e.attrs?.title??``;return r?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>`u`)return null;let{directions:e,minWidth:t,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:o,editor:s})=>{let c=document.createElement(`img`);Object.entries(o).forEach(([e,t])=>{if(t!=null)switch(e){case`width`:case`height`:break;default:c.setAttribute(e,t);break}}),c.src=o.src;let l=new Dp({element:c,editor:s,node:i,getPos:a,onResize:(e,t)=>{c.style.width=`${e}px`,c.style.height=`${t}px`},onCommit:(e,t)=>{let n=a();n!==void 0&&this.editor.chain().setNodeSelection(n).updateAttributes(this.name,{width:e,height:t}).run()},onUpdate:(e,t,n)=>e.type===i.type,options:{directions:e,min:{width:t,height:n},preserveAspectRatio:r===!0}}),u=l.dom;return u.style.visibility=`hidden`,u.style.pointerEvents=`none`,c.onload=()=>{u.style.visibility=``,u.style.pointerEvents=``},l}},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[Cp({find:gw,type:this.type,getAttributes:e=>{let[,,t,n,r]=e;return{src:n,alt:t,title:r}}})]}}),vw=`
|
|
216
|
+
`;function hw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:o,filePath:s,readOnly:c}=e??{},l=i??`Document`,u=(0,I.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...s?{filePath:s}:{}}))},[t,s]),[d,f]=(0,I.useState)(`idle`),p=(0,I.useRef)(null),m=(0,I.useRef)(null),[h,g]=(0,I.useState)(!1),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)(`idle`),x=(0,I.useRef)(o),S=(0,I.useMemo)(()=>Cx.extend({markdownTokenizer:null}),[]),C=(0,I.useMemo)(()=>[TS.configure({orderedList:!1}),S,Xb.configure({openOnClick:!1}),lw,fw],[S]),w=(0,I.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),E=$m({extensions:C,content:(0,I.useMemo)(()=>o&&w(o),[o,w]),contentType:`markdown`,editable:!c,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{c||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...s?{filePath:s}:{}})),u(`auto-saved`),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)},onFocus:()=>v(!0),onBlur:()=>v(!1)}),D=uw({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,I.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=mw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=E?.getMarkdown()??``,n.body.appendChild(a)},[E]),onSyncMessage:(0,I.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&E&&E.commands.setContent(w(t.markdown),{contentType:`markdown`})},[E,w])});(0,I.useEffect)(()=>{D.poppedOut&&E&&D.syncToPopout({type:`content`,markdown:E.getMarkdown(),title:l})},[D.poppedOut]);let O=dw({onSubmit:t}),k=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!E||!o||o===x.current)return;x.current=o;let e=w(o);if(k.current&&=(E.off(`blur`,k.current),null),!E.isFocused)E.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{E.commands.setContent(e,{contentType:`markdown`}),E.off(`blur`,t),k.current=null};k.current=t,E.on(`blur`,t)}},[E,o,w]),(0,I.useEffect)(()=>(u(`rendered`),()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)}),[]);let A=(0,I.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection;e!==t&&O.openCommentInput()},[E,O]),j=(0,I.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection,n=E.state.doc.textBetween(e,t);if(!n)return;let r=O.submitComment(n,{startOffset:e,endOffset:t});r&&E.chain().focus().setMark(`comment`,{commentId:r,commentText:O.commentText,createdAt:new Date().toISOString()}).run()},[E,O]),M=(0,I.useCallback)(()=>{c||!E||(v(!0),E.commands.focus())},[c,E]),te=(0,I.useCallback)(()=>{if(!E||!s)return;let e=E.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:s})),u(`approved`),b(`approved`))},[E,s,t,u]),re=(0,I.useCallback)(()=>{if(!E)return;let e=E.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...s?{filePath:s}:{}}))},[E,l,s,t]);if(n)return null;if(h||!E)return(0,L.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,L.jsx)(pw,{content:o||``})]});let ie=typeof window<`u`&&window.innerWidth<640,ae=typeof BroadcastChannel<`u`,oe=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),y===`approved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),c&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),s&&!c&&y!==`approved`&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ne,onClick:te,"aria-label":`Approve`,children:`Approve`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:re,"aria-label":`Download`}),O.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:O.sendComments,children:[`Send `,O.pendingComments.length,` comment`,O.pendingComments.length>1?`s`:``]}),!ie&&ae&&!D.poppedOut&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:D.handlePopout,"aria-label":`Pop out`}),!D.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:D.handleFullscreen,"aria-label":`Full screen`}),D.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:D.exitFullscreen,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:D.handleMinimise,"aria-label":`Minimise`})]}),se=c?null:(0,L.jsx)(fv,{editor:E,children:(0,L.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ee,onClick:()=>E.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":E.isActive(`bold`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:be,onClick:()=>E.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":E.isActive(`italic`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ce,onClick:()=>{let e=window.prompt(`URL`);e&&E.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":E.isActive(`link`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:le,onClick:()=>E.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":E.isActive(`code`)}),(0,L.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ae,onClick:A,"aria-label":`Add comment`})]})}),ce=O.showCommentInput?(0,L.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,L.jsx)(`input`,{ref:O.commentInputRef,type:`text`,value:O.commentText,onChange:e=>O.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&j(),e.key===`Escape`&&O.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,L.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,L.jsx)(T,{variant:`primary`,size:`sm`,onClick:j,disabled:!O.commentText.trim(),children:`Add`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:O.cancelComment,"aria-label":`Cancel`})]})]}):null;if(D.fullscreen)return(0,L.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),oe]}),(0,L.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:_||c?(0,L.jsxs)(L.Fragment,{children:[se,ce,(0,L.jsx)(Gm,{editor:E})]}):(0,L.jsx)(`div`,{className:`doc-editor__preview`,onClick:M,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&M(),children:(0,L.jsx)(pw,{content:E?.getMarkdown()??o??``})})})]});if(D.poppedOut)return(0,L.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:D.handlePopIn,"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:D.handleMinimise,"aria-label":`Close`})]})]})});if(D.minimised)return(0,L.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:D.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&D.handleExpand(),children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!ie&&ae&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:D.handlePopout,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:D.handleFullscreen,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:D.handleExpand,"aria-label":`Expand`})]})]})});let N=E?.getMarkdown()??o??``;return(0,L.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,L.jsx)(a,{className:`editor-base__icon`}),(0,L.jsx)(`span`,{className:`editor-base__title`,children:l}),oe]}),(0,L.jsx)(`div`,{className:`doc-editor__body`,children:_||c?(0,L.jsxs)(L.Fragment,{children:[se,ce,(0,L.jsx)(Gm,{editor:E})]}):(0,L.jsx)(`div`,{className:`doc-editor__preview`,onClick:M,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&M(),children:(0,L.jsx)(pw,{content:N})})})]})}var gw=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,_w=zp.create({name:`image`,addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?`inline`:`block`},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?`img[src]`:`img[src]:not([src^="data:"])`}]},renderHTML({HTMLAttributes:e}){return[`img`,Fd(this.options.HTMLAttributes,e)]},parseMarkdown:(e,t)=>t.createNode(`image`,{src:e.href,title:e.title,alt:e.text}),renderMarkdown:e=>{let t=e.attrs?.src??``,n=e.attrs?.alt??``,r=e.attrs?.title??``;return r?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>`u`)return null;let{directions:e,minWidth:t,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:o,editor:s})=>{let c=document.createElement(`img`);Object.entries(o).forEach(([e,t])=>{if(t!=null)switch(e){case`width`:case`height`:break;default:c.setAttribute(e,t);break}}),c.src=o.src;let l=new Dp({element:c,editor:s,node:i,getPos:a,onResize:(e,t)=>{c.style.width=`${e}px`,c.style.height=`${t}px`},onCommit:(e,t)=>{let n=a();n!==void 0&&this.editor.chain().setNodeSelection(n).updateAttributes(this.name,{width:e,height:t}).run()},onUpdate:(e,t,n)=>e.type===i.type,options:{directions:e,min:{width:t,height:n},preserveAspectRatio:r===!0}}),u=l.dom;return u.style.visibility=`hidden`,u.style.pointerEvents=`none`,c.onload=()=>{u.style.visibility=``,u.style.pointerEvents=``},l}},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[Cp({find:gw,type:this.type,getAttributes:e=>{let[,,t,n,r]=e;return{src:n,alt:t,title:r}}})]}}),vw=`
|
|
217
217
|
@page {
|
|
218
218
|
margin: 20mm;
|
|
219
219
|
size: A4;
|
|
@@ -328,7 +328,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
328
328
|
a { color: #7C8C72; }
|
|
329
329
|
.title { font-size: 20px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px;
|
|
330
330
|
border-bottom: 1px solid rgba(0,0,0,0.06); }
|
|
331
|
-
`;function jw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:s,brandName:c,brandLogo:l}=e??{},u=i??`Content`,[d,f]=(0,I.useState)(`idle`),p=(0,I.useRef)(null),m=(0,I.useRef)(null),[h,g]=(0,I.useState)(!1),_=(0,I.useRef)(a),v=(0,I.useRef)(null),y=(0,I.useRef)(null),b=$m({extensions:(0,I.useMemo)(()=>[TS,Xb.configure({openOnClick:!1}),_w.configure({inline:!1,allowBase64:!0}),Tw],[]),content:a,editable:!s,editorProps:{attributes:{class:`rich-editor__content`,role:`textbox`,"aria-multiline":`true`},handleDrop:(e,t)=>{if(!t.dataTransfer?.files.length)return!1;t.preventDefault();let n=t.dataTransfer.files[0];return Dw(n)?n.size>ww?(console.warn(`Rich editor: image exceeds 5MB limit:`,n.size),alert(`Image is too large. Maximum size is 5MB.`),!0):(Ew(n).then(n=>{let r=e.posAtCoords({left:t.clientX,top:t.clientY});r&&e.dispatch(e.state.tr.insert(r.pos,e.state.schema.nodes.image.create({src:n})))}).catch(e=>{console.warn(`Rich editor: FileReader error:`,e)}),!0):(console.warn(`Rich editor: rejected non-image file type:`,n.type),!0)},handleClickOn:(e,t,n)=>n.type.name===`image`&&!s?(y.current=t,v.current?.click(),!0):!1},onUpdate:({editor:e})=>{s||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getHTML();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)}}),x=uw({title:u,isStreaming:r,channelName:`maxy-rich-editor`,renderPopout:(0,I.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Aw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`div`);n.body.appendChild(a),Ow(n,b?.getHTML()??``,a)},[b]),onSyncMessage:(0,I.useCallback)(e=>{let t=e;t?.type===`content`&&t.html&&b&&b.commands.setContent(t.html)},[b])});(0,I.useEffect)(()=>{x.poppedOut&&b&&x.syncToPopout({type:`content`,html:b.getHTML(),title:u})},[x.poppedOut]);let S=dw({onSubmit:t}),C=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!(!b||!a||a===_.current))if(_.current=a,C.current&&=(b.off(`blur`,C.current),null),!b.isFocused)b.commands.setContent(a);else{let e=a,t=()=>{b.commands.setContent(e),b.off(`blur`,t),C.current=null};C.current=t,b.on(`blur`,t)}},[b,a]),(0,I.useEffect)(()=>()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)},[]);let w=(0,I.useCallback)(async e=>{let t=e.target.files?.[0];if(!(!t||!b||y.current===null)){if(!Dw(t)){console.warn(`Rich editor: rejected non-image file type:`,t.type);return}if(t.size>ww){alert(`Image is too large. Maximum size is 5MB.`);return}try{let e=await Ew(t),n=y.current,r=b.state.doc.nodeAt(n);r?.type.name===`image`&&b.chain().focus().setNodeSelection(n).command(({tr:t,state:i})=>(t.setNodeMarkup(n,i.schema.nodes.image,{...r.attrs,src:e}),!0)).run()}catch(e){console.warn(`Rich editor: image swap failed:`,e)}y.current=null,e.target.value=``}},[b]),E=(0,I.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection;e!==t&&S.openCommentInput()},[b,S]),D=(0,I.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection,n=b.state.doc.textBetween(e,t);if(!n)return;let r=S.submitComment(n,{startOffset:e,endOffset:t});r&&b.chain().focus().setMark(`comment`,{commentId:r,commentText:S.commentText,createdAt:new Date().toISOString()}).run()},[b,S]),O=(0,I.useCallback)(()=>{b&&bw({title:u,content:b.getHTML(),brandName:c,brandLogo:l})},[b,u,c,l]);if(n)return null;if(h||!b)return(0,L.jsxs)(`div`,{className:`editor-base rich-editor`,children:[(0,L.jsx)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:(0,L.jsx)(`span`,{className:`editor-base__title`,children:u})}),(0,L.jsx)(kw,{content:a||``})]});let k=typeof window<`u`&&window.innerWidth<640,A=typeof BroadcastChannel<`u`,j=(0,L.jsx)(`input`,{ref:v,type:`file`,accept:Cw.join(`,`),onChange:w,style:{display:`none`},"aria-hidden":`true`}),M=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),s&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),S.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:S.sendComments,children:[`Send `,S.pendingComments.length,` comment`,S.pendingComments.length>1?`s`:``]}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:
|
|
331
|
+
`;function jw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,content:a,filePath:o,readOnly:s,brandName:c,brandLogo:l}=e??{},u=i??`Content`,[d,f]=(0,I.useState)(`idle`),p=(0,I.useRef)(null),m=(0,I.useRef)(null),[h,g]=(0,I.useState)(!1),_=(0,I.useRef)(a),v=(0,I.useRef)(null),y=(0,I.useRef)(null),b=$m({extensions:(0,I.useMemo)(()=>[TS,Xb.configure({openOnClick:!1}),_w.configure({inline:!1,allowBase64:!0}),Tw],[]),content:a,editable:!s,editorProps:{attributes:{class:`rich-editor__content`,role:`textbox`,"aria-multiline":`true`},handleDrop:(e,t)=>{if(!t.dataTransfer?.files.length)return!1;t.preventDefault();let n=t.dataTransfer.files[0];return Dw(n)?n.size>ww?(console.warn(`Rich editor: image exceeds 5MB limit:`,n.size),alert(`Image is too large. Maximum size is 5MB.`),!0):(Ew(n).then(n=>{let r=e.posAtCoords({left:t.clientX,top:t.clientY});r&&e.dispatch(e.state.tr.insert(r.pos,e.state.schema.nodes.image.create({src:n})))}).catch(e=>{console.warn(`Rich editor: FileReader error:`,e)}),!0):(console.warn(`Rich editor: rejected non-image file type:`,n.type),!0)},handleClickOn:(e,t,n)=>n.type.name===`image`&&!s?(y.current=t,v.current?.click(),!0):!1},onUpdate:({editor:e})=>{s||(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{let n=e.getHTML();f(`saving`),t(JSON.stringify({action:`save`,content:n,...o?{filePath:o}:{}})),m.current&&clearTimeout(m.current),f(`saved`),m.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||g(!0)}}),x=uw({title:u,isStreaming:r,channelName:`maxy-rich-editor`,renderPopout:(0,I.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Aw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`div`);n.body.appendChild(a),Ow(n,b?.getHTML()??``,a)},[b]),onSyncMessage:(0,I.useCallback)(e=>{let t=e;t?.type===`content`&&t.html&&b&&b.commands.setContent(t.html)},[b])});(0,I.useEffect)(()=>{x.poppedOut&&b&&x.syncToPopout({type:`content`,html:b.getHTML(),title:u})},[x.poppedOut]);let S=dw({onSubmit:t}),C=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!(!b||!a||a===_.current))if(_.current=a,C.current&&=(b.off(`blur`,C.current),null),!b.isFocused)b.commands.setContent(a);else{let e=a,t=()=>{b.commands.setContent(e),b.off(`blur`,t),C.current=null};C.current=t,b.on(`blur`,t)}},[b,a]),(0,I.useEffect)(()=>()=>{p.current&&clearTimeout(p.current),m.current&&clearTimeout(m.current)},[]);let w=(0,I.useCallback)(async e=>{let t=e.target.files?.[0];if(!(!t||!b||y.current===null)){if(!Dw(t)){console.warn(`Rich editor: rejected non-image file type:`,t.type);return}if(t.size>ww){alert(`Image is too large. Maximum size is 5MB.`);return}try{let e=await Ew(t),n=y.current,r=b.state.doc.nodeAt(n);r?.type.name===`image`&&b.chain().focus().setNodeSelection(n).command(({tr:t,state:i})=>(t.setNodeMarkup(n,i.schema.nodes.image,{...r.attrs,src:e}),!0)).run()}catch(e){console.warn(`Rich editor: image swap failed:`,e)}y.current=null,e.target.value=``}},[b]),E=(0,I.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection;e!==t&&S.openCommentInput()},[b,S]),D=(0,I.useCallback)(()=>{if(!b)return;let{from:e,to:t}=b.state.selection,n=b.state.doc.textBetween(e,t);if(!n)return;let r=S.submitComment(n,{startOffset:e,endOffset:t});r&&b.chain().focus().setMark(`comment`,{commentId:r,commentText:S.commentText,createdAt:new Date().toISOString()}).run()},[b,S]),O=(0,I.useCallback)(()=>{b&&bw({title:u,content:b.getHTML(),brandName:c,brandLogo:l})},[b,u,c,l]);if(n)return null;if(h||!b)return(0,L.jsxs)(`div`,{className:`editor-base rich-editor`,children:[(0,L.jsx)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:(0,L.jsx)(`span`,{className:`editor-base__title`,children:u})}),(0,L.jsx)(kw,{content:a||``})]});let k=typeof window<`u`&&window.innerWidth<640,A=typeof BroadcastChannel<`u`,j=(0,L.jsx)(`input`,{ref:v,type:`file`,accept:Cw.join(`,`),onChange:w,style:{display:`none`},"aria-hidden":`true`}),M=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),s&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),S.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:S.sendComments,children:[`Send `,S.pendingComments.length,` comment`,S.pendingComments.length>1?`s`:``]}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:F,onClick:O,"aria-label":`Export PDF`}),!k&&A&&!x.poppedOut&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:x.handlePopout,"aria-label":`Pop out`}),!x.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:x.handleFullscreen,"aria-label":`Full screen`}),x.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:x.exitFullscreen,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:x.handleMinimise,"aria-label":`Minimise`})]}),te=s?null:(0,L.jsx)(fv,{editor:b,children:(0,L.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ee,onClick:()=>b.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":b.isActive(`bold`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:be,onClick:()=>b.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":b.isActive(`italic`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ce,onClick:()=>{let e=window.prompt(`URL`);e&&b.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":b.isActive(`link`)}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ve,onClick:()=>{y.current=null,v.current?.click()},"aria-label":`Insert image`}),(0,L.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ae,onClick:E,"aria-label":`Add comment`})]})}),ne=S.showCommentInput?(0,L.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,L.jsx)(`input`,{ref:S.commentInputRef,type:`text`,value:S.commentText,onChange:e=>S.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D(),e.key===`Escape`&&S.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,L.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,L.jsx)(T,{variant:`primary`,size:`sm`,onClick:D,disabled:!S.commentText.trim(),children:`Add`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:S.cancelComment,"aria-label":`Cancel`})]})]}):null;return x.fullscreen?(0,L.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[j,(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...x.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:u}),M]}),(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__body`,children:[te,ne,(0,L.jsx)(Gm,{editor:b})]})]}):x.poppedOut?(0,L.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:x.handlePopIn,"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:x.handleMinimise,"aria-label":`Close`})]})]})}):x.minimised?(0,L.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:x.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&x.handleExpand(),children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!k&&A&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:x.handlePopout,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:x.handleFullscreen,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:x.handleExpand,"aria-label":`Expand`})]})]})}):(0,L.jsxs)(`div`,{className:`editor-base rich-editor`,children:[j,(0,L.jsxs)(`div`,{className:`editor-base__bar`,...x.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),M]}),(0,L.jsxs)(`div`,{className:`rich-editor__body`,children:[te,ne,(0,L.jsx)(Gm,{editor:b})]})]})}var Mw=500,Nw=40,Pw=120;function Fw(e){return e.includes(` `)?e.split(` `):e.split(`,`).map(e=>e.trim())}function Iw(e,t){let n=e=>e.includes(`,`)||e.includes(`"`)||e.includes(`
|
|
332
332
|
`)?`"${e.replace(/"/g,`""`)}"`:e;return`${e.map(n).join(`,`)}\n${t.map(e=>e.map(n).join(`,`)).join(`
|
|
333
333
|
`)}`}var Lw=`
|
|
334
334
|
body { font-family: 'DM Sans', -apple-system, sans-serif; margin: 0; padding: 24px;
|
|
@@ -340,13 +340,13 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
340
340
|
border: 1px solid rgba(0,0,0,0.1); }
|
|
341
341
|
td { padding: 6px 10px; border: 1px solid rgba(0,0,0,0.1); }
|
|
342
342
|
`;function Rw({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:i,columns:a,rows:o,filePath:s,brandName:c,brandLogo:l}=e??{},u=i??`Grid`,[d,f]=(0,I.useState)(a??[`Column 1`]),[p,m]=(0,I.useState)(()=>{let e=o??[[``]];return e.length>0?e:[[``]]}),[h,g]=(0,I.useState)(null),[_,v]=(0,I.useState)(``),y=(0,I.useRef)(null),[b,x]=(0,I.useState)(()=>(a??[`Column 1`]).map(()=>Pw)),S=(0,I.useRef)(null),[C,w]=(0,I.useState)(`idle`),E=(0,I.useRef)(null),D=(0,I.useRef)(null),O=(0,I.useRef)(JSON.stringify({columns:a,rows:o}));(0,I.useEffect)(()=>{let e=JSON.stringify({columns:a,rows:o});e!==O.current&&(O.current=e,a&&f(a),o&&(m(o.length>0?o:[[``]]),x(e=>{let t=a?.length??e.length;return t>e.length?[...e,...Array(t-e.length).fill(Pw)]:e.slice(0,t)})))},[a,o]);let k=(0,I.useCallback)(()=>{E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{w(`saving`),t(JSON.stringify({action:`save`,columns:d,rows:p,...s?{filePath:s}:{}})),D.current&&clearTimeout(D.current),w(`saved`),D.current=setTimeout(()=>w(`idle`),2e3)},500)},[d,p,s,t]);(0,I.useEffect)(()=>()=>{E.current&&clearTimeout(E.current),D.current&&clearTimeout(D.current)},[]);let A=uw({title:u,isStreaming:r,channelName:`maxy-grid-editor`,renderPopout:(0,I.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=Lw,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`table`),o=n.createElement(`thead`),s=n.createElement(`tr`);for(let e of d){let t=n.createElement(`th`);t.textContent=e,s.appendChild(t)}o.appendChild(s),a.appendChild(o);let c=n.createElement(`tbody`);for(let e of p){let t=n.createElement(`tr`);for(let r of e){let e=n.createElement(`td`);e.textContent=r,t.appendChild(e)}c.appendChild(t)}a.appendChild(c),n.body.appendChild(a)},[d,p])}),j=dw({onSubmit:t}),ee=(0,I.useCallback)((e,t)=>{g({row:e,col:t}),v(p[e]?.[t]??``),setTimeout(()=>y.current?.focus(),0)},[p]),M=(0,I.useCallback)(()=>{if(!h)return;let{row:e,col:t}=h;m(n=>{let r=n.map(e=>[...e]);return r[e]&&(r[e][t]=_),r}),g(null),k()},[h,_,k]),te=(0,I.useCallback)(()=>{g(null)},[]),ne=(0,I.useCallback)(e=>{if(h)if(e.key===`Tab`){e.preventDefault(),M();let{row:t,col:n}=h,r=n+1;if(r<d.length)ee(t,r);else{let e=t+1;e>=p.length&&m(e=>[...e,Array(d.length).fill(``)]),ee(Math.min(e,p.length),0)}}else if(e.key===`Enter`){e.preventDefault(),M();let{row:t,col:n}=h,r=t+1;r>=p.length&&m(e=>[...e,Array(d.length).fill(``)]),ee(Math.min(r,p.length),n)}else e.key===`Escape`&&te()},[h,d.length,p.length,M,ee,te]),re=(0,I.useCallback)(()=>{m(e=>[...e,Array(d.length).fill(``)]),k()},[d.length,k]),ie=(0,I.useCallback)(e=>{m(t=>t.length<=1?[Array(d.length).fill(``)]:t.filter((t,n)=>n!==e)),h?.row===e&&g(null),k()},[d.length,h,k]),oe=(0,I.useCallback)(e=>{let t=e.clipboardData.getData(`text/plain`);if(!t||!h)return;let n=t.split(`
|
|
343
|
-
`).filter(e=>e.trim());if(n.length<=1&&!n[0]?.includes(` `)&&!n[0]?.includes(`,`))return;e.preventDefault();let r=n.slice(0,Mw).map(Fw);n.length>Mw&&console.warn(`Grid editor: paste truncated from ${n.length} to ${Mw} rows`);let{row:i,col:a}=h;m(e=>{let t=e.map(e=>[...e]);for(let e=0;e<r.length;e++){let n=i+e;for(;n>=t.length;)t.push(Array(d.length).fill(``));for(let i=0;i<r[e].length;i++){let o=a+i;o<d.length&&(t[n][o]=r[e][i])}}return t}),k()},[h,d.length,k]),N=(0,I.useCallback)(()=>{let e=Iw(d,p),t=new Blob([e],{type:`text/csv;charset=utf-8;`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${u.replace(/[^a-zA-Z0-9]/g,`_`)}.csv`,r.click(),URL.revokeObjectURL(n)},[d,p,u]),se=(0,I.useCallback)(()=>{bw({title:u,content:xw(d,p),brandName:c,brandLogo:l})},[u,d,p,c,l]),P=(0,I.useCallback)((e,t)=>{t.preventDefault(),S.current={colIndex:e,startX:t.clientX,startWidth:b[e]};let n=null,r=e=>{S.current&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{if(!S.current)return;let t=e.clientX-S.current.startX,n=Math.max(Nw,S.current.startWidth+t);x(e=>{let t=[...e];return t[S.current.colIndex]=n,t})}))},i=()=>{S.current=null,n&&cancelAnimationFrame(n),window.removeEventListener(`mousemove`,r),window.removeEventListener(`mouseup`,i)};window.addEventListener(`mousemove`,r),window.addEventListener(`mouseup`,i)},[b]),ce=(0,I.useCallback)(()=>{h&&j.openCommentInput()},[h,j]),F=(0,I.useCallback)(()=>{if(!h)return;let e=p[h.row]?.[h.col]??``;j.submitComment(e,{row:h.row,column:h.col})},[h,p,j]);if(n)return null;let le=typeof window<`u`&&window.innerWidth<640,pe=typeof BroadcastChannel<`u`,me=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[C===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),C===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),j.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:j.sendComments,children:[`Send `,j.pendingComments.length,` comment`,j.pendingComments.length>1?`s`:``]}),h&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ae,onClick:ce,"aria-label":`Comment on cell`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:ue,onClick:N,"aria-label":`Download CSV`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:se,"aria-label":`Export PDF`}),!le&&pe&&!A.poppedOut&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:A.handlePopout,"aria-label":`Pop out`}),!A.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:A.handleFullscreen,"aria-label":`Full screen`}),A.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:A.exitFullscreen,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:A.handleMinimise,"aria-label":`Minimise`})]}),he=(0,L.jsxs)(`div`,{className:`grid-editor__table-wrap`,onPaste:oe,children:[j.showCommentInput?(0,L.jsxs)(`div`,{className:`grid-editor__comment-popover`,children:[(0,L.jsx)(`input`,{ref:j.commentInputRef,type:`text`,value:j.commentText,onChange:e=>j.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&F(),e.key===`Escape`&&j.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment on cell`}),(0,L.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,L.jsx)(T,{variant:`primary`,size:`sm`,onClick:F,disabled:!j.commentText.trim(),children:`Add`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:j.cancelComment,"aria-label":`Cancel`})]})]}):null,(0,L.jsxs)(`table`,{className:`grid-editor__table`,role:`grid`,"aria-label":u,children:[(0,L.jsx)(`thead`,{children:(0,L.jsxs)(`tr`,{children:[(0,L.jsx)(`th`,{className:`grid-editor__row-header`}),d.map((e,t)=>(0,L.jsxs)(`th`,{className:`grid-editor__col-header`,style:{width:b[t]},children:[e,(0,L.jsx)(`div`,{className:`grid-editor__resize-handle`,onMouseDown:e=>P(t,e),role:`separator`,"aria-orientation":`vertical`})]},t))]})}),(0,L.jsx)(`tbody`,{children:p.map((e,t)=>(0,L.jsxs)(`tr`,{children:[(0,L.jsxs)(`td`,{className:`grid-editor__row-header`,children:[(0,L.jsx)(`span`,{className:`grid-editor__row-num`,children:t+1}),p.length>1&&(0,L.jsx)(`button`,{className:`grid-editor__row-delete`,onClick:()=>ie(t),"aria-label":`Delete row ${t+1}`,children:(0,L.jsx)(qe,{size:12})})]}),e.map((e,n)=>{let r=h?.row===t&&h?.col===n;return(0,L.jsx)(`td`,{className:`grid-editor__cell ${r?`grid-editor__cell--active`:``}`,onClick:()=>!r&&ee(t,n),role:`gridcell`,"aria-selected":r,style:{width:b[n]},children:r?(0,L.jsx)(`input`,{ref:y,type:`text`,className:`grid-editor__cell-input`,value:_,onChange:e=>v(e.target.value),onKeyDown:ne,onBlur:M,"aria-label":`${d[n]} row ${t+1}`}):(0,L.jsx)(`span`,{className:`grid-editor__cell-text`,children:e})},n)})]},t))})]}),(0,L.jsxs)(`button`,{className:`grid-editor__add-row`,onClick:re,"aria-label":`Add row`,children:[(0,L.jsx)(ae,{size:14}),(0,L.jsx)(`span`,{children:`Add row`})]})]});return A.fullscreen?(0,L.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:u}),me]}),(0,L.jsx)(`div`,{className:`editor-base-fullscreen__body`,style:{maxWidth:`none`},children:he})]}):A.poppedOut?(0,L.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:A.handlePopIn,"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:A.handleMinimise,"aria-label":`Close`})]})]})}):A.minimised?(0,L.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:A.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&A.handleExpand(),children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!le&&pe&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:A.handlePopout,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:A.handleFullscreen,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:A.handleExpand,"aria-label":`Expand`})]})]})}):(0,L.jsxs)(`div`,{className:`editor-base grid-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),me]}),(0,L.jsx)(`div`,{className:`grid-editor__body`,children:he})]})}var zw=Object.defineProperty,Bw=Object.getOwnPropertySymbols,Vw=Object.prototype.hasOwnProperty,Hw=Object.prototype.propertyIsEnumerable,Uw=(e,t,n)=>t in e?zw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ww=(e,t)=>{for(var n in t||={})Vw.call(t,n)&&Uw(e,n,t[n]);if(Bw)for(var n of Bw(t))Hw.call(t,n)&&Uw(e,n,t[n]);return e},Gw=(e,t)=>{var n={};for(var r in e)Vw.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bw)for(var r of Bw(e))t.indexOf(r)<0&&Hw.call(e,r)&&(n[r]=e[r]);return n},Kw;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(Kw||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(Kw||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(Kw||={});var qw=Kw,Jw={L:qw.QrCode.Ecc.LOW,M:qw.QrCode.Ecc.MEDIUM,Q:qw.QrCode.Ecc.QUARTILE,H:qw.QrCode.Ecc.HIGH},Yw=128,Xw=`L`,Zw=`#FFFFFF`,Qw=`#000000`,$w=!1,eT=1,tT=4,nT=0,rT=.1;function iT(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function aT(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function oT(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*rT),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function sT(e,t){return t==null?e?tT:nT:Math.max(Math.floor(t),0)}function cT({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=I.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...qw.QrSegment.makeSegments(t)),e),[]);return qw.QrCode.encodeSegments(r,Jw[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=I.useMemo(()=>{let e=c.getModules(),t=sT(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:oT(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var lT=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),uT=I.forwardRef(function(e,t){let n=e,{value:r,size:i=Yw,level:a=Xw,bgColor:o=Zw,fgColor:s=Qw,includeMargin:c=$w,minVersion:l=eT,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Gw(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Gw(p,[`style`]),g=f?.src,_=I.useRef(null),v=I.useRef(null),y=I.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=I.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=cT({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});I.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=aT(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,lT?t.fill(new Path2D(iT(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),I.useEffect(()=>{x(!1)},[g]);let E=Ww({height:i,width:i},m),D=null;return g!=null&&(D=I.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),I.createElement(I.Fragment,null,I.createElement(`canvas`,Ww({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});uT.displayName=`QRCodeCanvas`;var dT=I.forwardRef(function(e,t){let n=e,{value:r,size:i=Yw,level:a=Xw,bgColor:o=Zw,fgColor:s=Qw,includeMargin:c=$w,minVersion:l=eT,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Gw(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=cT({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=aT(g,v.excavation)),b=I.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=iT(y,h);return I.createElement(`svg`,Ww({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&I.createElement(`title`,null,d),I.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),I.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});dT.displayName=`QRCodeSVG`;function fT({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,I.useRef)(!1),a=r?.value?.trim()??``;return(0,I.useEffect)(()=>{a&&!n&&!i.current&&(i.current=!0,t(``))},[a,n,t]),a?(0,L.jsxs)(`div`,{className:`qr-code`,children:[(0,L.jsx)(`div`,{className:`qr-code__canvas`,children:(0,L.jsx)(dT,{value:a,size:240,level:`M`,bgColor:`#ffffff`,fgColor:`#000000`})}),r?.label&&(0,L.jsx)(`div`,{className:`qr-code__label`,children:r.label})]}):(0,L.jsx)(`div`,{className:`qr-code qr-code--error`,children:`No QR data provided. Try again or ask the agent to generate a new QR code.`})}function pT(e){return e===0?`0 B`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function mT(e){return e.startsWith(`image/`)?(0,L.jsx)(pe,{size:18}):e===`application/pdf`?(0,L.jsx)(a,{size:18}):e.startsWith(`text/`)?(0,L.jsx)(t,{size:18}):(0,L.jsx)(ge,{size:18})}function hT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,a=(0,I.useRef)(!1),o=!!(i?.attachmentId&&i?.filename);(0,I.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(JSON.stringify({_lifecycle:!0,component:`file-attachment`,event:`rendered`,attachmentId:i.attachmentId,filename:i.filename})))},[o,n,t,i]);let s=(0,I.useCallback)(()=>{if(!i?.attachmentId||!r)return;let e=`/api/admin/attachment/${i.attachmentId}?session_key=${encodeURIComponent(r)}`,t=document.createElement(`a`);t.href=e,t.download=i.filename,t.click()},[i,r]);return o?(0,L.jsx)(b,{submitted:!1,submittedLabel:`Downloaded`,actions:[{label:`Download`,variant:`primary`,onClick:s,disabled:!r}],children:(0,L.jsxs)(`div`,{className:`file-attachment`,children:[(0,L.jsx)(`div`,{className:`file-attachment__icon`,children:mT(i.mimeType)}),(0,L.jsxs)(`div`,{className:`file-attachment__info`,children:[(0,L.jsx)(`div`,{className:`file-attachment__name`,title:i.filename,children:i.filename}),(0,L.jsxs)(`div`,{className:`file-attachment__meta`,children:[pT(i.sizeBytes),` · `,i.mimeType]})]}),(0,L.jsx)(`button`,{className:`file-attachment__download`,onClick:s,disabled:!r,title:`Download file`,children:(0,L.jsx)(ue,{size:16})})]})}):null}var gT={"single-select":c,"multi-select":h,confirm:gt,"info-card":_t,"action-list":vt,form:yt,progress:xt,"browser-viewer":Ct,"document-editor":hw,"rich-content-editor":jw,"grid-editor":Rw,"qr-code":fT,"file-attachment":hT,"output-style":c,"thinking-view":c,"plugin-selector":h};function _T({name:e,data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}){let o=gT[e];return o?(0,L.jsx)(o,{data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}):(console.warn(`[ComponentRenderer] Unknown component: "${e}". Registered: ${Object.keys(gT).join(`, `)}`),(0,L.jsx)(`div`,{className:`component-card component-card--error`,children:(0,L.jsxs)(`p`,{style:{fontFamily:`var(--font-body)`,fontSize:12,color:`var(--text-secondary)`},children:[`Component “`,e,`” is not available. This may require a platform update.`]})}))}var vT=/\b(?:fail|error|unable|could not|cannot|CAPTCHA|SIGN_IN_REQUIRED)\b/i;function yT(e){let t=new Date(e),n=new Date,r=String(t.getHours()).padStart(2,`0`),i=String(t.getMinutes()).padStart(2,`0`);return t.toDateString()===n.toDateString()?`${r}:${i}`:`${String(t.getDate()).padStart(2,`0`)}-${String(t.getMonth()+1).padStart(2,`0`)}-${t.getFullYear()} ${r}:${i}`}var bT=[Ge,He,j,Re,le];function xT({size:e=13}){let[t,n]=(0,I.useState)(0);(0,I.useEffect)(()=>{let e=setInterval(()=>n(e=>(e+1)%8),300);return()=>clearInterval(e)},[]);let r=t<=4?t:8-t,i=bT[r];return(0,L.jsx)(i,{size:e,className:`star-loader star-frame-${r}`})}var ST=[`Thinking`,`Reasoning`,`Analyzing`,`Considering`,`Reflecting`,`Evaluating`,`Weighing`,`Synthesizing`,`Processing`,`Exploring`,`Examining`,`Assessing`,`Reviewing`,`Contemplating`,`Deliberating`],CT=60,wT=1500;function TT(){let e=(0,I.useRef)(-1),t=(0,I.useRef)(void 0),[n,r]=(0,I.useState)(()=>{let t=Math.floor(Math.random()*ST.length);return e.current=t,ST[t]+`…`});return(0,I.useEffect)(()=>{let n=!1;function i(){let t;do t=Math.floor(Math.random()*ST.length);while(t===e.current&&ST.length>1);return e.current=t,t}function a(){if(n)return;let e=ST[i()]+`…`,o=0;function s(){n||(o++,r(e.slice(0,o)),o<e.length?t.current=setTimeout(s,CT):t.current=setTimeout(a,wT))}t.current=setTimeout(s,CT)}return t.current=setTimeout(a,wT),()=>{n=!0,clearTimeout(t.current)}},[]),(0,L.jsx)(`span`,{className:`tl-thinking-typewriter`,children:n})}function ET(e,t){let n=e=>String(e??``);switch(e){case`Read`:return`Read ${n(t.file_path??t.path)}`;case`Write`:return`Write ${n(t.file_path??t.path)}`;case`Edit`:return`Edit ${n(t.file_path??t.path)}`;case`Bash`:return n(t.description??String(t.command??``).slice(0,70));case`Glob`:return`Glob ${n(t.pattern)}`;case`Grep`:return`Grep "${n(t.pattern)}" in ${n(t.path??`.`)}`;case`WebFetch`:return`Fetch ${n(t.url)}`;case`Agent`:return n(t.description??t.task??`Subagent`);case`Skill`:return n(t.skill??`Skill`);default:{let r=e.match(/^mcp__[^_]+__(.+)$/),i=r?r[1]:e,a=Object.keys(t)[0];return a?`${i}: ${n(t[a]).slice(0,50)}`:i}}}function DT({name:e,size:t=12}){let n=e.match(/^mcp__[^_]+__(.+)$/);switch(n?n[1]:e){case`Read`:return(0,L.jsx)(a,{size:t});case`Write`:return(0,L.jsx)(he,{size:t});case`Edit`:return(0,L.jsx)(me,{size:t});case`Bash`:return(0,L.jsx)(Ke,{size:t});case`Glob`:case`Grep`:return(0,L.jsx)(Ve,{size:t});case`WebFetch`:return(0,L.jsx)(_e,{size:t});case`Agent`:return(0,L.jsx)(te,{size:t});case`Skill`:return(0,L.jsx)(He,{size:t});case`memory-search`:return(0,L.jsx)(F,{size:t});case`memory-write`:return(0,L.jsx)(ce,{size:t});case`task-list`:return(0,L.jsx)(oe,{size:t});case`task-create`:return(0,L.jsx)(N,{size:t});case`contact-create`:return(0,L.jsx)(Ye,{size:t});default:return(0,L.jsx)(Xe,{size:t})}}function OT(e){let t=new Map,n=new Map;return e.forEach((e,r)=>{if(e.type===`tool_use`){let t=n.get(e.name)??[];t.push(r),n.set(e.name,t)}else if(e.type===`tool_result`){let i=n.get(e.name);i?.length&&t.set(i.shift(),r)}}),t}function kT(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function AT(e){let t=``;switch(e.type){case`text`:case`thinking`:t=e.content??``;break;case`tool_use`:t=JSON.stringify(e.input??{});break;case`tool_result`:t=e.output??``;break;case`subagent_start`:t=e.task??``;break;case`subagent_end`:t=e.result??``;break;case`component`:t=JSON.stringify(e.data??{});break;case`status`:t=e.message??``;break;default:return 0}return Math.ceil(t.length/4)}function jT(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function MT(e){if(e<60)return`${e.toFixed(1)}s`;let t=Math.floor(e/60),n=e%60;return n>=.1?`${t}m ${Math.floor(n)}s`:`${t}m`}function NT({icon:e,isPending:t,isError:n,doneClass:r=`tl-done`,summary:i,detail:a,tokens:s,elapsed:c,isLast:l,expanded:u,onToggle:d,selectCheck:f}){let p=!!a;return(0,L.jsxs)(`div`,{className:`tl-step`,children:[f,(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon${t?` tl-pending`:n?` tl-error`:` ${r}`}`,children:e}),!l&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsxs)(`div`,{className:`tl-body`,children:[(0,L.jsxs)(`div`,{className:`tl-row`,onClick:p?()=>{window.getSelection()?.toString()||d()}:void 0,style:{cursor:p?`pointer`:`default`},children:[(0,L.jsx)(`span`,{className:`tl-summary`,children:i}),s>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(s)]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:MT(c)}),p&&(0,L.jsx)(`span`,{className:`tl-chevron`,children:u?(0,L.jsx)(o,{size:10}):(0,L.jsx)(re,{size:10})})]}),p&&u&&(0,L.jsx)(`pre`,{className:`tl-detail`,children:a})]})]})}function PT({events:e,isStreaming:t,elapsedSeconds:n,streamStartMs:r,expandAll:i,onCompactNow:a,isCompacting:s,sessionCompacted:c,onComponentSubmit:l,submittedComponents:u,timestamp:f,selectionMode:p,selectedItems:m,onToggleItem:h,sessionKey:g}){let[_,v]=(0,I.useState)(new Set),[y,b]=(0,I.useState)(!t),x=(0,I.useRef)(t);(0,I.useEffect)(()=>{x.current&&!t&&b(!0),!x.current&&t&&b(!1),x.current=t},[t]);let S=(0,I.useRef)(new Map),w=(0,I.useRef)(0),[E,D]=(0,I.useState)(Date.now());(0,I.useEffect)(()=>{let t=Date.now();for(let n=w.current;n<e.length;n++)S.current.has(n)||S.current.set(n,t);w.current=e.length},[e]),(0,I.useEffect)(()=>{if(!t)return;let e=setInterval(()=>D(Date.now()),100);return()=>clearInterval(e)},[t]);let O=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},k=(e,t)=>{let n=e===le[0]?.i&&r?r:S.current.get(e)??E,i=t===void 0?E:S.current.get(t)??E;return Math.max(0,(i-n)/1e3)},j=OT(e),ee=new Set(j.values()),M=e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`text`),ie=new Set(t?[]:e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`component`).map(({i:e})=>e)),ae=e=>e.type===`component`&&[`browser-viewer`,`qr-code`].includes(e.name);function oe(e){if(!p||t||!f)return null;let n=`${f}_${e}`;return(0,L.jsx)(`div`,{className:`tl-select-check`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(d,{checked:m?.has(n)??!1,onChange:()=>h?.(n)})})}let N=e.findLast(e=>e.type===`usage`),P=e.findLast(e=>e.type===`history_usage`),ce=e.findLast(e=>e.type===`status`),F=e.some(e=>e.type===`subagent_start`),le=e.map((e,t)=>({e,i:t})).filter(({e,i:n})=>e.type!==`text`&&e.type!==`usage`&&e.type!==`rate_limit`&&e.type!==`history_usage`&&e.type!==`status`&&e.type!==`done`&&e.type!==`subagent_progress`&&!ee.has(n)&&!ie.has(n)&&!(t&&e.type===`component`&&!ae(e))&&!(e.type===`tool_use`&&e.name===`Agent`&&F)),ue=new Map;for(let e=0;e<le.length-1;e++)ue.set(le[e].i,le[e+1].i);let de=(()=>{let e=[],t=!1,n=0;for(let{e:r}of le)if(n+=AT(r),r.type===`thinking`)t=!0;else if(r.type===`tool_use`){let t=r.name;e.includes(t)||e.push(t)}let r=[`${le.length} step${le.length===1?``:`s`}`];if(e.length>0){let t=e.slice(0,3),n=e.length-t.length;r.push(t.join(`, `)+(n>0?` +${n}`:``))}return{text:r.join(` · `),hasThinking:t,tokenSum:n}})(),fe=N?.peak_request_pct==null?N?.context_window?Math.round((N.input_tokens+N.cache_creation_tokens+N.cache_read_tokens)/N.context_window*100):null:Math.round(N.peak_request_pct*100),pe=le.length>0,me=M.length>0,he=new Set(le.map(e=>e.i)),ge=new Set(M.map(e=>e.i)),_e=[];for(let t=0;t<e.length;t++){let n=e[t],r=null;if(he.has(t)?r=`steps`:ge.has(t)&&(r=`text`),!r)continue;let i=_e[_e.length-1];i&&i.role===r?i.items.push({e:n,i:t}):_e.push({role:r,items:[{e:n,i:t}]})}let ve=M.length>0?M[M.length-1].i:-1;function ye(n,r,a,s){let c=s===a.length-1;if(n.type===`thinking`){let e=i===void 0?!_.has(r):i,t=ue.get(r);return(0,L.jsxs)(`div`,{className:`tl-step`,children:[oe(r),(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon tl-dim`,children:(0,L.jsx)(Se,{size:11})}),!c&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsxs)(`div`,{className:`tl-row tl-row-top`,onClick:()=>{window.getSelection()?.toString()||O(r)},style:{cursor:`pointer`},children:[(0,L.jsx)(`div`,{className:`tl-thinking-col`,children:e?(0,L.jsx)(`div`,{className:`tl-thinking-body`,children:n.content}):(0,L.jsxs)(`span`,{className:`tl-summary tl-thinking-label`,children:[n.content.slice(0,80),n.content.length>80?`…`:``]})}),AT(n)>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(AT(n))]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:MT(k(r,t))}),(0,L.jsx)(`span`,{className:`tl-chevron`,children:e?(0,L.jsx)(o,{size:10}):(0,L.jsx)(re,{size:10})})]})})]},r)}if(n.type===`status`)return(0,L.jsx)(`div`,{className:`tl-status`,children:n.message},r);if(n.type===`tool_use`){let t=j.get(r),a=t===void 0?void 0:e[t],o=a===void 0,s=a?.type===`tool_result`&&!!a.error,l=o?(0,L.jsx)(Ee,{size:11,className:`tl-spinner`}):s?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(DT,{name:n.name,size:11}),u=n,d=a?.type===`tool_result`?`Input:
|
|
343
|
+
`).filter(e=>e.trim());if(n.length<=1&&!n[0]?.includes(` `)&&!n[0]?.includes(`,`))return;e.preventDefault();let r=n.slice(0,Mw).map(Fw);n.length>Mw&&console.warn(`Grid editor: paste truncated from ${n.length} to ${Mw} rows`);let{row:i,col:a}=h;m(e=>{let t=e.map(e=>[...e]);for(let e=0;e<r.length;e++){let n=i+e;for(;n>=t.length;)t.push(Array(d.length).fill(``));for(let i=0;i<r[e].length;i++){let o=a+i;o<d.length&&(t[n][o]=r[e][i])}}return t}),k()},[h,d.length,k]),se=(0,I.useCallback)(()=>{let e=Iw(d,p),t=new Blob([e],{type:`text/csv;charset=utf-8;`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${u.replace(/[^a-zA-Z0-9]/g,`_`)}.csv`,r.click(),URL.revokeObjectURL(n)},[d,p,u]),ce=(0,I.useCallback)(()=>{bw({title:u,content:xw(d,p),brandName:c,brandLogo:l})},[u,d,p,c,l]),le=(0,I.useCallback)((e,t)=>{t.preventDefault(),S.current={colIndex:e,startX:t.clientX,startWidth:b[e]};let n=null,r=e=>{S.current&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{if(!S.current)return;let t=e.clientX-S.current.startX,n=Math.max(Nw,S.current.startWidth+t);x(e=>{let t=[...e];return t[S.current.colIndex]=n,t})}))},i=()=>{S.current=null,n&&cancelAnimationFrame(n),window.removeEventListener(`mousemove`,r),window.removeEventListener(`mouseup`,i)};window.addEventListener(`mousemove`,r),window.addEventListener(`mouseup`,i)},[b]),N=(0,I.useCallback)(()=>{h&&j.openCommentInput()},[h,j]),ue=(0,I.useCallback)(()=>{if(!h)return;let e=p[h.row]?.[h.col]??``;j.submitComment(e,{row:h.row,column:h.col})},[h,p,j]);if(n)return null;let P=typeof window<`u`&&window.innerWidth<640,pe=typeof BroadcastChannel<`u`,me=(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[C===`saving`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),C===`saved`&&(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),j.pendingComments.length>0&&(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,onClick:j.sendComments,children:[`Send `,j.pendingComments.length,` comment`,j.pendingComments.length>1?`s`:``]}),h&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ae,onClick:N,"aria-label":`Comment on cell`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:se,"aria-label":`Download CSV`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:F,onClick:ce,"aria-label":`Export PDF`}),!P&&pe&&!A.poppedOut&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:A.handlePopout,"aria-label":`Pop out`}),!A.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:A.handleFullscreen,"aria-label":`Full screen`}),A.fullscreen&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:A.exitFullscreen,"aria-label":`Exit full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:A.handleMinimise,"aria-label":`Minimise`})]}),he=(0,L.jsxs)(`div`,{className:`grid-editor__table-wrap`,onPaste:oe,children:[j.showCommentInput?(0,L.jsxs)(`div`,{className:`grid-editor__comment-popover`,children:[(0,L.jsx)(`input`,{ref:j.commentInputRef,type:`text`,value:j.commentText,onChange:e=>j.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ue(),e.key===`Escape`&&j.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment on cell`}),(0,L.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,L.jsx)(T,{variant:`primary`,size:`sm`,onClick:ue,disabled:!j.commentText.trim(),children:`Add`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:j.cancelComment,"aria-label":`Cancel`})]})]}):null,(0,L.jsxs)(`table`,{className:`grid-editor__table`,role:`grid`,"aria-label":u,children:[(0,L.jsx)(`thead`,{children:(0,L.jsxs)(`tr`,{children:[(0,L.jsx)(`th`,{className:`grid-editor__row-header`}),d.map((e,t)=>(0,L.jsxs)(`th`,{className:`grid-editor__col-header`,style:{width:b[t]},children:[e,(0,L.jsx)(`div`,{className:`grid-editor__resize-handle`,onMouseDown:e=>le(t,e),role:`separator`,"aria-orientation":`vertical`})]},t))]})}),(0,L.jsx)(`tbody`,{children:p.map((e,t)=>(0,L.jsxs)(`tr`,{children:[(0,L.jsxs)(`td`,{className:`grid-editor__row-header`,children:[(0,L.jsx)(`span`,{className:`grid-editor__row-num`,children:t+1}),p.length>1&&(0,L.jsx)(`button`,{className:`grid-editor__row-delete`,onClick:()=>ie(t),"aria-label":`Delete row ${t+1}`,children:(0,L.jsx)(qe,{size:12})})]}),e.map((e,n)=>{let r=h?.row===t&&h?.col===n;return(0,L.jsx)(`td`,{className:`grid-editor__cell ${r?`grid-editor__cell--active`:``}`,onClick:()=>!r&&ee(t,n),role:`gridcell`,"aria-selected":r,style:{width:b[n]},children:r?(0,L.jsx)(`input`,{ref:y,type:`text`,className:`grid-editor__cell-input`,value:_,onChange:e=>v(e.target.value),onKeyDown:ne,onBlur:M,"aria-label":`${d[n]} row ${t+1}`}):(0,L.jsx)(`span`,{className:`grid-editor__cell-text`,children:e})},n)})]},t))})]}),(0,L.jsxs)(`button`,{className:`grid-editor__add-row`,onClick:re,"aria-label":`Add row`,children:[(0,L.jsx)(ae,{size:14}),(0,L.jsx)(`span`,{children:`Add row`})]})]});return A.fullscreen?(0,L.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:u}),me]}),(0,L.jsx)(`div`,{className:`editor-base-fullscreen__body`,style:{maxWidth:`none`},children:he})]}):A.poppedOut?(0,L.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,L.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ue,onClick:A.handlePopIn,"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ne,onClick:A.handleMinimise,"aria-label":`Close`})]})]})}):A.minimised?(0,L.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:A.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&A.handleExpand(),children:(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),(0,L.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!P&&pe&&(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:A.handlePopout,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Oe,onClick:A.handleFullscreen,"aria-label":`Full screen`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Re,onClick:A.handleExpand,"aria-label":`Expand`})]})]})}):(0,L.jsxs)(`div`,{className:`editor-base grid-editor`,children:[(0,L.jsxs)(`div`,{className:`editor-base__bar`,...A.dragBarProps,children:[(0,L.jsx)(`span`,{className:`editor-base__title`,children:u}),me]}),(0,L.jsx)(`div`,{className:`grid-editor__body`,children:he})]})}var zw=Object.defineProperty,Bw=Object.getOwnPropertySymbols,Vw=Object.prototype.hasOwnProperty,Hw=Object.prototype.propertyIsEnumerable,Uw=(e,t,n)=>t in e?zw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ww=(e,t)=>{for(var n in t||={})Vw.call(t,n)&&Uw(e,n,t[n]);if(Bw)for(var n of Bw(t))Hw.call(t,n)&&Uw(e,n,t[n]);return e},Gw=(e,t)=>{var n={};for(var r in e)Vw.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bw)for(var r of Bw(e))t.indexOf(r)<0&&Hw.call(e,r)&&(n[r]=e[r]);return n},Kw;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(Kw||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(Kw||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(Kw||={});var qw=Kw,Jw={L:qw.QrCode.Ecc.LOW,M:qw.QrCode.Ecc.MEDIUM,Q:qw.QrCode.Ecc.QUARTILE,H:qw.QrCode.Ecc.HIGH},Yw=128,Xw=`L`,Zw=`#FFFFFF`,Qw=`#000000`,$w=!1,eT=1,tT=4,nT=0,rT=.1;function iT(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function aT(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function oT(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*rT),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function sT(e,t){return t==null?e?tT:nT:Math.max(Math.floor(t),0)}function cT({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=I.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...qw.QrSegment.makeSegments(t)),e),[]);return qw.QrCode.encodeSegments(r,Jw[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=I.useMemo(()=>{let e=c.getModules(),t=sT(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:oT(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var lT=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),uT=I.forwardRef(function(e,t){let n=e,{value:r,size:i=Yw,level:a=Xw,bgColor:o=Zw,fgColor:s=Qw,includeMargin:c=$w,minVersion:l=eT,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Gw(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Gw(p,[`style`]),g=f?.src,_=I.useRef(null),v=I.useRef(null),y=I.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=I.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=cT({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});I.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=aT(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,lT?t.fill(new Path2D(iT(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),I.useEffect(()=>{x(!1)},[g]);let E=Ww({height:i,width:i},m),D=null;return g!=null&&(D=I.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),I.createElement(I.Fragment,null,I.createElement(`canvas`,Ww({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});uT.displayName=`QRCodeCanvas`;var dT=I.forwardRef(function(e,t){let n=e,{value:r,size:i=Yw,level:a=Xw,bgColor:o=Zw,fgColor:s=Qw,includeMargin:c=$w,minVersion:l=eT,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Gw(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=cT({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=aT(g,v.excavation)),b=I.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=iT(y,h);return I.createElement(`svg`,Ww({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&I.createElement(`title`,null,d),I.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),I.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});dT.displayName=`QRCodeSVG`;function fT({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,I.useRef)(!1),a=r?.value?.trim()??``;return(0,I.useEffect)(()=>{a&&!n&&!i.current&&(i.current=!0,t(``))},[a,n,t]),a?(0,L.jsxs)(`div`,{className:`qr-code`,children:[(0,L.jsx)(`div`,{className:`qr-code__canvas`,children:(0,L.jsx)(dT,{value:a,size:240,level:`M`,bgColor:`#ffffff`,fgColor:`#000000`})}),r?.label&&(0,L.jsx)(`div`,{className:`qr-code__label`,children:r.label})]}):(0,L.jsx)(`div`,{className:`qr-code qr-code--error`,children:`No QR data provided. Try again or ask the agent to generate a new QR code.`})}function pT(e){return e===0?`0 B`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function mT(e){return e.startsWith(`image/`)?(0,L.jsx)(pe,{size:18}):e===`application/pdf`?(0,L.jsx)(a,{size:18}):e.startsWith(`text/`)?(0,L.jsx)(t,{size:18}):(0,L.jsx)(ge,{size:18})}function hT({data:e,onSubmit:t,submitted:n,sessionKey:r}){let i=e,a=(0,I.useRef)(!1),o=!!(i?.attachmentId&&i?.filename);(0,I.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(JSON.stringify({_lifecycle:!0,component:`file-attachment`,event:`rendered`,attachmentId:i.attachmentId,filename:i.filename})))},[o,n,t,i]);let s=(0,I.useCallback)(()=>{if(!i?.attachmentId||!r)return;let e=`/api/admin/attachment/${i.attachmentId}?session_key=${encodeURIComponent(r)}`,t=document.createElement(`a`);t.href=e,t.download=i.filename,t.click()},[i,r]);return o?(0,L.jsx)(b,{submitted:!1,submittedLabel:`Downloaded`,actions:[{label:`Download`,variant:`primary`,onClick:s,disabled:!r}],children:(0,L.jsxs)(`div`,{className:`file-attachment`,children:[(0,L.jsx)(`div`,{className:`file-attachment__icon`,children:mT(i.mimeType)}),(0,L.jsxs)(`div`,{className:`file-attachment__info`,children:[(0,L.jsx)(`div`,{className:`file-attachment__name`,title:i.filename,children:i.filename}),(0,L.jsxs)(`div`,{className:`file-attachment__meta`,children:[pT(i.sizeBytes),` · `,i.mimeType]})]}),(0,L.jsx)(`button`,{className:`file-attachment__download`,onClick:s,disabled:!r,title:`Download file`,children:(0,L.jsx)(de,{size:16})})]})}):null}var gT={"single-select":c,"multi-select":h,confirm:gt,"info-card":_t,"action-list":vt,form:yt,progress:xt,"browser-viewer":Ct,"document-editor":hw,"rich-content-editor":jw,"grid-editor":Rw,"qr-code":fT,"file-attachment":hT,"output-style":c,"thinking-view":c,"plugin-selector":h};function _T({name:e,data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}){let o=gT[e];return o?(0,L.jsx)(o,{data:t,onSubmit:n,submitted:r,isStreaming:i,sessionKey:a}):(console.warn(`[ComponentRenderer] Unknown component: "${e}". Registered: ${Object.keys(gT).join(`, `)}`),(0,L.jsx)(`div`,{className:`component-card component-card--error`,children:(0,L.jsxs)(`p`,{style:{fontFamily:`var(--font-body)`,fontSize:12,color:`var(--text-secondary)`},children:[`Component “`,e,`” is not available. This may require a platform update.`]})}))}var vT=/\b(?:fail|error|unable|could not|cannot|CAPTCHA|SIGN_IN_REQUIRED)\b/i;function yT(e){let t=new Date(e),n=new Date,r=String(t.getHours()).padStart(2,`0`),i=String(t.getMinutes()).padStart(2,`0`);return t.toDateString()===n.toDateString()?`${r}:${i}`:`${String(t.getDate()).padStart(2,`0`)}-${String(t.getMonth()+1).padStart(2,`0`)}-${t.getFullYear()} ${r}:${i}`}var bT=[Ge,He,j,Re,P];function xT({size:e=13}){let[t,n]=(0,I.useState)(0);(0,I.useEffect)(()=>{let e=setInterval(()=>n(e=>(e+1)%8),300);return()=>clearInterval(e)},[]);let r=t<=4?t:8-t,i=bT[r];return(0,L.jsx)(i,{size:e,className:`star-loader star-frame-${r}`})}var ST=[`Thinking`,`Reasoning`,`Analyzing`,`Considering`,`Reflecting`,`Evaluating`,`Weighing`,`Synthesizing`,`Processing`,`Exploring`,`Examining`,`Assessing`,`Reviewing`,`Contemplating`,`Deliberating`],CT=60,wT=1500;function TT(){let e=(0,I.useRef)(-1),t=(0,I.useRef)(void 0),[n,r]=(0,I.useState)(()=>{let t=Math.floor(Math.random()*ST.length);return e.current=t,ST[t]+`…`});return(0,I.useEffect)(()=>{let n=!1;function i(){let t;do t=Math.floor(Math.random()*ST.length);while(t===e.current&&ST.length>1);return e.current=t,t}function a(){if(n)return;let e=ST[i()]+`…`,o=0;function s(){n||(o++,r(e.slice(0,o)),o<e.length?t.current=setTimeout(s,CT):t.current=setTimeout(a,wT))}t.current=setTimeout(s,CT)}return t.current=setTimeout(a,wT),()=>{n=!0,clearTimeout(t.current)}},[]),(0,L.jsx)(`span`,{className:`tl-thinking-typewriter`,children:n})}function ET(e,t){let n=e=>String(e??``);switch(e){case`Read`:return`Read ${n(t.file_path??t.path)}`;case`Write`:return`Write ${n(t.file_path??t.path)}`;case`Edit`:return`Edit ${n(t.file_path??t.path)}`;case`Bash`:return n(t.description??String(t.command??``).slice(0,70));case`Glob`:return`Glob ${n(t.pattern)}`;case`Grep`:return`Grep "${n(t.pattern)}" in ${n(t.path??`.`)}`;case`WebFetch`:return`Fetch ${n(t.url)}`;case`Agent`:return n(t.description??t.task??`Subagent`);case`Skill`:return n(t.skill??`Skill`);default:{let r=e.match(/^mcp__[^_]+__(.+)$/),i=r?r[1]:e,a=Object.keys(t)[0];return a?`${i}: ${n(t[a]).slice(0,50)}`:i}}}function DT({name:e,size:t=12}){let n=e.match(/^mcp__[^_]+__(.+)$/);switch(n?n[1]:e){case`Read`:return(0,L.jsx)(a,{size:t});case`Write`:return(0,L.jsx)(he,{size:t});case`Edit`:return(0,L.jsx)(me,{size:t});case`Bash`:return(0,L.jsx)(Ke,{size:t});case`Glob`:case`Grep`:return(0,L.jsx)(Ve,{size:t});case`WebFetch`:return(0,L.jsx)(_e,{size:t});case`Agent`:return(0,L.jsx)(te,{size:t});case`Skill`:return(0,L.jsx)(He,{size:t});case`memory-search`:return(0,L.jsx)(ue,{size:t});case`memory-write`:return(0,L.jsx)(N,{size:t});case`task-list`:return(0,L.jsx)(oe,{size:t});case`task-create`:return(0,L.jsx)(se,{size:t});case`contact-create`:return(0,L.jsx)(Ye,{size:t});default:return(0,L.jsx)(Xe,{size:t})}}function OT(e){let t=new Map,n=new Map;return e.forEach((e,r)=>{if(e.type===`tool_use`){let t=n.get(e.name)??[];t.push(r),n.set(e.name,t)}else if(e.type===`tool_result`){let i=n.get(e.name);i?.length&&t.set(i.shift(),r)}}),t}function kT(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function AT(e){let t=``;switch(e.type){case`text`:case`thinking`:t=e.content??``;break;case`tool_use`:t=JSON.stringify(e.input??{});break;case`tool_result`:t=e.output??``;break;case`subagent_start`:t=e.task??``;break;case`subagent_end`:t=e.result??``;break;case`component`:t=JSON.stringify(e.data??{});break;case`status`:t=e.message??``;break;default:return 0}return Math.ceil(t.length/4)}function jT(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function MT(e){if(e<60)return`${e.toFixed(1)}s`;let t=Math.floor(e/60),n=e%60;return n>=.1?`${t}m ${Math.floor(n)}s`:`${t}m`}function NT({icon:e,isPending:t,isError:n,doneClass:r=`tl-done`,summary:i,detail:a,tokens:s,elapsed:c,isLast:l,expanded:u,onToggle:d,selectCheck:f}){let p=!!a;return(0,L.jsxs)(`div`,{className:`tl-step`,children:[f,(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon${t?` tl-pending`:n?` tl-error`:` ${r}`}`,children:e}),!l&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsxs)(`div`,{className:`tl-body`,children:[(0,L.jsxs)(`div`,{className:`tl-row`,onClick:p?()=>{window.getSelection()?.toString()||d()}:void 0,style:{cursor:p?`pointer`:`default`},children:[(0,L.jsx)(`span`,{className:`tl-summary`,children:i}),s>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(s)]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:MT(c)}),p&&(0,L.jsx)(`span`,{className:`tl-chevron`,children:u?(0,L.jsx)(o,{size:10}):(0,L.jsx)(re,{size:10})})]}),p&&u&&(0,L.jsx)(`pre`,{className:`tl-detail`,children:a})]})]})}function PT({events:e,isStreaming:t,elapsedSeconds:n,streamStartMs:r,expandAll:i,onCompactNow:a,isCompacting:s,sessionCompacted:c,onComponentSubmit:l,submittedComponents:u,timestamp:f,selectionMode:p,selectedItems:m,onToggleItem:h,sessionKey:g}){let[_,v]=(0,I.useState)(new Set),[y,b]=(0,I.useState)(!t),x=(0,I.useRef)(t);(0,I.useEffect)(()=>{x.current&&!t&&b(!0),!x.current&&t&&b(!1),x.current=t},[t]);let S=(0,I.useRef)(new Map),w=(0,I.useRef)(0),[E,D]=(0,I.useState)(Date.now());(0,I.useEffect)(()=>{let t=Date.now();for(let n=w.current;n<e.length;n++)S.current.has(n)||S.current.set(n,t);w.current=e.length},[e]),(0,I.useEffect)(()=>{if(!t)return;let e=setInterval(()=>D(Date.now()),100);return()=>clearInterval(e)},[t]);let O=e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},k=(e,t)=>{let n=e===P[0]?.i&&r?r:S.current.get(e)??E,i=t===void 0?E:S.current.get(t)??E;return Math.max(0,(i-n)/1e3)},j=OT(e),ee=new Set(j.values()),M=e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`text`),ie=new Set(t?[]:e.map((e,t)=>({e,i:t})).filter(({e})=>e.type===`component`).map(({i:e})=>e)),ae=e=>e.type===`component`&&[`browser-viewer`,`qr-code`].includes(e.name);function oe(e){if(!p||t||!f)return null;let n=`${f}_${e}`;return(0,L.jsx)(`div`,{className:`tl-select-check`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(d,{checked:m?.has(n)??!1,onChange:()=>h?.(n)})})}let se=e.findLast(e=>e.type===`usage`),le=e.findLast(e=>e.type===`history_usage`),N=e.findLast(e=>e.type===`status`),ue=e.some(e=>e.type===`subagent_start`),P=e.map((e,t)=>({e,i:t})).filter(({e,i:n})=>e.type!==`text`&&e.type!==`usage`&&e.type!==`rate_limit`&&e.type!==`history_usage`&&e.type!==`status`&&e.type!==`done`&&e.type!==`subagent_progress`&&!ee.has(n)&&!ie.has(n)&&!(t&&e.type===`component`&&!ae(e))&&!(e.type===`tool_use`&&e.name===`Agent`&&ue)),de=new Map;for(let e=0;e<P.length-1;e++)de.set(P[e].i,P[e+1].i);let fe=(()=>{let e=[],t=!1,n=0;for(let{e:r}of P)if(n+=AT(r),r.type===`thinking`)t=!0;else if(r.type===`tool_use`){let t=r.name;e.includes(t)||e.push(t)}let r=[`${P.length} step${P.length===1?``:`s`}`];if(e.length>0){let t=e.slice(0,3),n=e.length-t.length;r.push(t.join(`, `)+(n>0?` +${n}`:``))}return{text:r.join(` · `),hasThinking:t,tokenSum:n}})(),F=se?.peak_request_pct==null?se?.context_window?Math.round((se.input_tokens+se.cache_creation_tokens+se.cache_read_tokens)/se.context_window*100):null:Math.round(se.peak_request_pct*100),pe=P.length>0,me=M.length>0,he=new Set(P.map(e=>e.i)),ge=new Set(M.map(e=>e.i)),_e=[];for(let t=0;t<e.length;t++){let n=e[t],r=null;if(he.has(t)?r=`steps`:ge.has(t)&&(r=`text`),!r)continue;let i=_e[_e.length-1];i&&i.role===r?i.items.push({e:n,i:t}):_e.push({role:r,items:[{e:n,i:t}]})}let ve=M.length>0?M[M.length-1].i:-1;function ye(n,r,a,s){let c=s===a.length-1;if(n.type===`thinking`){let e=i===void 0?!_.has(r):i,t=de.get(r);return(0,L.jsxs)(`div`,{className:`tl-step`,children:[oe(r),(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon tl-dim`,children:(0,L.jsx)(Se,{size:11})}),!c&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsxs)(`div`,{className:`tl-row tl-row-top`,onClick:()=>{window.getSelection()?.toString()||O(r)},style:{cursor:`pointer`},children:[(0,L.jsx)(`div`,{className:`tl-thinking-col`,children:e?(0,L.jsx)(`div`,{className:`tl-thinking-body`,children:n.content}):(0,L.jsxs)(`span`,{className:`tl-summary tl-thinking-label`,children:[n.content.slice(0,80),n.content.length>80?`…`:``]})}),AT(n)>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(AT(n))]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:MT(k(r,t))}),(0,L.jsx)(`span`,{className:`tl-chevron`,children:e?(0,L.jsx)(o,{size:10}):(0,L.jsx)(re,{size:10})})]})})]},r)}if(n.type===`status`)return(0,L.jsx)(`div`,{className:`tl-status`,children:n.message},r);if(n.type===`tool_use`){let t=j.get(r),a=t===void 0?void 0:e[t],o=a===void 0,s=a?.type===`tool_result`&&!!a.error,l=o?(0,L.jsx)(Ee,{size:11,className:`tl-spinner`}):s?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(DT,{name:n.name,size:11}),u=n,d=a?.type===`tool_result`?`Input:
|
|
344
344
|
${JSON.stringify(u.input,null,2)}
|
|
345
345
|
|
|
346
346
|
Result:
|
|
347
347
|
${a.output}`:`Input:
|
|
348
|
-
${JSON.stringify(u.input,null,2)}`,f=ue.get(r),p=o?void 0:f??t;return(0,L.jsx)(NT,{icon:l,isPending:o,isError:s,doneClass:u.name===`Read`?`tl-done`:`tl-success`,summary:ET(u.name,u.input),detail:d,tokens:AT(n),elapsed:k(r,p),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}if(n.type===`subagent_start`){let t=n,a=e.some(e=>e.type===`subagent_end`&&e.name===t.name),o=a?e.findIndex(e=>e.type===`subagent_end`&&e.name===t.name):void 0,s=t.background===!0,l=t.task.slice(0,60)+(t.task.length>60?`…`:``),u=t.task;if(s&&!a){let n=[...e].reverse().find(e=>e.type===`subagent_progress`&&e.name===t.name);n?.last_tool_name&&(u=`${t.task}\nLast tool: ${n.last_tool_name} (${n.tool_uses??0} calls)`)}let d=a?e.find(e=>e.type===`subagent_end`&&e.name===t.name):void 0,f=a&&d?vT.test(d.result):!1;return(0,L.jsx)(NT,{icon:a?f?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(te,{size:11}):(0,L.jsx)(Ee,{size:11,className:`tl-spinner`}),isPending:!a,isError:f,summary:s?`${t.name} (background) — ${l}`:`${t.name} — ${l}`,detail:s?u:t.task,tokens:AT(n),elapsed:k(r,o),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}if(n.type===`component`){let e=u?.has(`${f}_${r}`)??!1,i=n;return(0,L.jsxs)(`div`,{className:`tl-step`,children:[oe(r),(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon ${e?`tl-done`:`tl-pending`}`,children:(0,L.jsx)(Pe,{size:11})}),!c&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsx)(_T,{name:i.name,data:i.data,submitted:e,onSubmit:e=>l?.(r,e,i.name),isStreaming:t,sessionKey:g})})]},r)}if(n.type===`subagent_end`){let e=n,t=vT.test(e.result);return(0,L.jsx)(NT,{icon:t?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(ne,{size:11}),isPending:!1,isError:t,summary:`${e.name} ${t?`failed`:`complete`}`,detail:e.result,tokens:AT(n),elapsed:k(r,ue.get(r)),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}return null}return(0,L.jsxs)(`div`,{className:`admin-activity`,children:[pe&&!t&&i===void 0&&(0,L.jsx)(`div`,{className:`tl-steps`,children:(0,L.jsxs)(`div`,{className:`tl-step tl-summary-row`,onClick:()=>{window.getSelection()?.toString()||b(e=>!e)},children:[(0,L.jsx)(`div`,{className:`tl-col`,children:(0,L.jsx)(`div`,{className:`tl-icon tl-done`,children:de.hasThinking?(0,L.jsx)(Se,{size:11}):(0,L.jsx)(ne,{size:11})})}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsxs)(`div`,{className:`tl-row`,style:{cursor:`pointer`},children:[(0,L.jsx)(`span`,{className:`tl-summary`,children:de.text}),de.tokenSum>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(de.tokenSum)]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:jT(n)}),(0,L.jsx)(`span`,{className:`tl-chevron`,children:y?(0,L.jsx)(re,{size:10}):(0,L.jsx)(o,{size:10})})]})})]})}),_e.map((e,n)=>e.role===`steps`?!t&&i===void 0&&y?null:(0,L.jsx)(`div`,{className:`tl-steps`,children:e.items.map(({e:t,i:n},r)=>ye(t,n,e.items,r))},`seg-${n}`):e.items.map(({e,i:n})=>{let r=e,i=n===ve;return(0,L.jsxs)(`div`,{className:`tl-text-block`,onClick:p&&!t&&f?()=>h?.(`${f}_${n}`):void 0,style:p&&!t?{cursor:`pointer`}:void 0,children:[oe(n),(0,L.jsx)(C,{content:r.content,timestamp:!t&&i&&f?yT(f):void 0})]},n)})),t&&!me&&(0,L.jsxs)(`div`,{className:`tl-loading`,children:[(0,L.jsx)(xT,{size:13}),(0,L.jsx)(TT,{}),(0,L.jsx)(`span`,{className:`tl-elapsed`,children:jT(n)})]}),!t&&ie.size>0&&(0,L.jsx)(`div`,{className:`tl-post-components`,children:e.map((e,t)=>({e,i:t})).filter(({i:e})=>ie.has(e)).map(({e,i:n})=>{if(e.type!==`component`)return null;let r=u?.has(`${f}_${n}`)??!1;return(0,L.jsx)(_T,{name:e.name,data:e.data,submitted:r,onSubmit:t=>l?.(n,t,e.name),isStreaming:t,sessionKey:g},n)})}),(me||!t&&pe)&&(0,L.jsxs)(`div`,{className:`tl-footer`,children:[t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(xT,{size:10}),(0,L.jsx)(TT,{})]}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,L.jsx)(se,{size:10}),jT(n)]}),N?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,L.jsx)(Qe,{size:10}),kT(N.input_tokens+N.cache_creation_tokens+N.cache_read_tokens+N.output_tokens)]})]}):t&&de.tokenSum>0?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-footer-est`,children:[(0,L.jsx)(Qe,{size:10}),`~`,kT(de.tokenSum)]})]}):null,P&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${P.budget>0&&P.tokens/P.budget>=.7?` tl-ctx-high`:P.budget>0&&P.tokens/P.budget>=.5?` tl-ctx-mid`:``}`,children:[(0,L.jsx)(je,{size:10}),P.messages]})]}),c?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-compacted`,children:[(0,L.jsx)(A,{size:10}),`compacted`]})]}):fe===null?null:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),!c&&a&&!t?(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,className:`tl-footer-icon-stat tl-ctx-pct${fe>=70?` tl-ctx-high`:fe>=50?` tl-ctx-mid`:``}`,style:{padding:0,fontSize:`11px`},onClick:a,children:[(0,L.jsx)(A,{size:10}),fe,`%`]}):(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${fe>=70?` tl-ctx-high`:fe>=50?` tl-ctx-mid`:``}`,children:[(0,L.jsx)(A,{size:10}),fe,`%`]})]}),s||t&&ce?(0,L.jsxs)(`span`,{className:`tl-footer-status`,children:[(0,L.jsx)(Ee,{size:10,className:`tl-spinner`}),ce?.message??`Compacting session...`]}):null]})]})}function FT(e){let{messages:n,isStreaming:r,elapsedSeconds:i,sessionTurnStart:s,expandAll:c,setExpandAll:l,sessionCompacted:u,isCompacting:f,setShowCompactConfirm:p,handleComponentSubmit:m,effectiveSubmitted:h,selectionMode:g,selectedItems:_,toggleSelectItem:v,sessionKey:y,setLightboxSrc:b,messageQueue:x,messageQueueRef:C,setQueue:w,sendMessage:T,appState:E,onboardingComplete:D}=e,O=(0,I.useRef)(null),k=(0,I.useRef)(null),A=(0,I.useRef)(null),j=(0,I.useRef)(!1),[ee,M]=I.useState(!0);(0,I.useEffect)(()=>{if(!ee){j.current=r;return}if(j.current&&!r&&A.current&&k.current){let e=A.current;if(e.offsetHeight>k.current.clientHeight){e.scrollIntoView({behavior:`smooth`,block:`start`}),j.current=r;return}}O.current?.scrollIntoView({behavior:`smooth`}),j.current=r},[n,x,ee,r]),(0,I.useEffect)(()=>{if(E!==`chat`)return;let e=k.current;if(!e)return;let t=()=>{M(e.scrollHeight-e.scrollTop-e.clientHeight<80)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[E]);let te=[...n].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),ne=te.reduce((e,t,n)=>t.role===`maxy`&&!t.hidden?n:e,-1);return(0,L.jsxs)(`div`,{className:`chat-messages-wrap`,children:[g&&(0,L.jsx)(`div`,{className:`selection-overlay-band`}),(0,L.jsxs)(`div`,{className:`chat-messages`,ref:k,children:[n.length===0&&E===`chat`&&D!==!1&&(0,L.jsxs)(`div`,{className:`idle-tips`,children:[(0,L.jsx)(`p`,{className:`idle-tips-hint`,children:`What would you like to do?`}),(0,L.jsx)(`div`,{className:`idle-tips-chips`,children:[`What needs doing?`,`Start a new task`].map(e=>(0,L.jsx)(`button`,{type:`button`,className:`idle-tip-chip`,onClick:()=>T(e),children:e},e))})]}),te.map((e,n,o)=>{if(e.hidden)return null;let l=r&&n===o.length-1,x=e.role,C=`${e.timestamp??0}_admin`,w=x===`admin`&&_.has(C),T=(n>0?o[n-1]:null)?.historical&&!e.historical;return(0,L.jsxs)(I.Fragment,{children:[T&&(0,L.jsx)(`div`,{className:`resume-divider`,children:(0,L.jsx)(`span`,{children:`Resumed session`})}),(0,L.jsxs)(`div`,{ref:n===ne?A:void 0,className:`message ${x===`admin`?`visitor`:`maxy`}${w?` selected`:``}${e.historical?` message-historical`:``}`,children:[g&&!l&&x===`admin`&&(0,L.jsx)(`div`,{className:`message-select-check`,children:(0,L.jsx)(d,{checked:w,onChange:()=>v(C)})}),e.role===`admin`?(0,L.jsxs)(`div`,{className:`bubble`,children:[e.content,e.attachments&&e.attachments.length>0&&(0,L.jsx)(`div`,{className:`message-attachments`,children:e.attachments.map((e,n)=>(0,L.jsxs)(`button`,{type:`button`,className:`message-attachment-chip${e.attachmentId&&y?``:` no-action`}`,onClick:()=>{if(!e.attachmentId||!y)return;let t=`/api/admin/attachment/${e.attachmentId}?session_key=${encodeURIComponent(y)}`;e.mimeType.startsWith(`image/`)?b(t):window.open(t,`_blank`)},children:[e.mimeType===`application/pdf`?(0,L.jsx)(a,{size:12}):e.mimeType.startsWith(`text/`)?(0,L.jsx)(t,{size:12}):null,(0,L.jsx)(`span`,{children:e.filename})]},n))}),(0,L.jsx)(`span`,{className:`message-timestamp`,children:S(e.timestamp)})]}):(0,L.jsx)(`div`,{className:`maxy-content-wrap`,children:(0,L.jsx)(PT,{events:e.events??[],isStreaming:l,elapsedSeconds:n===o.length-1?i:e.elapsedSeconds??0,streamStartMs:n===o.length-1?s.current??void 0:void 0,expandAll:c,onCompactNow:n===o.length-1&&!u?()=>p(!0):void 0,isCompacting:n===o.length-1?f:void 0,sessionCompacted:n===o.length-1?u:void 0,onComponentSubmit:(t,n,r)=>m(e.timestamp,t,n,r),submittedComponents:h,timestamp:e.timestamp,selectionMode:g,selectedItems:_,onToggleItem:v,sessionKey:y})})]})]},n)}),x.map((e,n)=>(0,L.jsx)(`div`,{className:`message visitor`,children:(0,L.jsxs)(`div`,{className:`bubble bubble-queued`,children:[e.text||null,e.files.length>0&&(0,L.jsx)(`div`,{className:`message-attachments`,children:e.files.map((e,n)=>(0,L.jsxs)(`span`,{className:`message-attachment-chip no-action`,children:[e.type===`application/pdf`?(0,L.jsx)(a,{size:12}):e.type.startsWith(`text/`)?(0,L.jsx)(t,{size:12}):null,(0,L.jsx)(`span`,{children:e.name})]},n))}),(0,L.jsx)(`button`,{type:`button`,className:`queued-bubble-delete`,onClick:()=>w(C.current.filter((e,t)=>t!==n)),"aria-label":`Remove queued message`,children:`×`})]})},e.timestamp)),(0,L.jsx)(`div`,{ref:O})]}),!ee&&(0,L.jsx)(`button`,{className:`scroll-to-bottom`,onClick:()=>O.current?.scrollIntoView({behavior:`smooth`}),"aria-label":`Scroll to bottom`,children:(0,L.jsx)(o,{size:18})}),n.some(e=>e.role===`maxy`)&&(0,L.jsx)(`button`,{className:`expand-toggle expand-toggle-${c===void 0?`default`:c?`all`:`off`}`,onClick:()=>l(e=>e===void 0?!0:e===!0?!1:void 0),"aria-label":c===void 0?`Expand all`:c?`Collapse all`:`Reset to default`,children:c===!1?(0,L.jsx)(xe,{size:14}):(0,L.jsx)(Se,{size:14})})]})}function IT(e,t){let n=t.lastIndexOf(`_`),r=t.slice(0,n),i=t.slice(n+1),a=parseInt(r,10),o=i===`admin`?`admin`:`maxy`,s=e.find(e=>e.timestamp===a&&e.role===o);if(!s)return``;if(i===`admin`)return s.content??``;let c=parseInt(i,10),l=s.events?.[c];if(!l)return``;if(l.type===`text`||l.type===`thinking`)return l.content;if(l.type===`tool_use`){let e=l,t=`[Tool: ${e.name}]`,n=`Input:\n${JSON.stringify(e.input,null,2)}`,r=s.events??[],i=``;for(let t=c+1;t<r.length;t++){let n=r[t];if(n.type===`tool_result`&&n.name===e.name){i=`\n\nResult:\n${n.output}`;break}}return`${t}\n${n}${i}`}if(l.type===`subagent_start`){let e=l,t=s.events??[],n=``;for(let r=c+1;r<t.length;r++){let i=t[r];if(i.type===`subagent_end`&&i.name===e.name){n=`\n\nResult:\n${i.result}`;break}}return`[${e.name}: ${e.task}]${n}`}return``}function LT(e,t){let n=[...e].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),r=[];for(let e of n)if(!e.hidden)if(e.role===`admin`)(t===`all`||t===`text`)&&r.push(`User:\n${e.content}`);else{let n=e.events??[];for(let e=0;e<n.length;e++){let i=n[e];if(i.type===`text`&&(t===`all`||t===`text`))r.push(`Maxy:\n${i.content}`);else if(i.type===`thinking`&&(t===`all`||t===`non-text`))r.push(`Maxy [thinking]:\n${i.content}`);else if(i.type===`tool_use`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`tool_result`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].output}`;break}r.push(`Maxy [tool: ${t.name}]:\nInput:\n${JSON.stringify(t.input,null,2)}${a}`)}else if(i.type===`subagent_start`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`subagent_end`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].result}`;break}r.push(`Maxy [agent: ${t.name}]\nTask: ${t.task}${a}`)}}}return r.join(`
|
|
348
|
+
${JSON.stringify(u.input,null,2)}`,f=de.get(r),p=o?void 0:f??t;return(0,L.jsx)(NT,{icon:l,isPending:o,isError:s,doneClass:u.name===`Read`?`tl-done`:`tl-success`,summary:ET(u.name,u.input),detail:d,tokens:AT(n),elapsed:k(r,p),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}if(n.type===`subagent_start`){let t=n,a=e.some(e=>e.type===`subagent_end`&&e.name===t.name),o=a?e.findIndex(e=>e.type===`subagent_end`&&e.name===t.name):void 0,s=t.background===!0,l=t.task.slice(0,60)+(t.task.length>60?`…`:``),u=t.task;if(s&&!a){let n=[...e].reverse().find(e=>e.type===`subagent_progress`&&e.name===t.name);n?.last_tool_name&&(u=`${t.task}\nLast tool: ${n.last_tool_name} (${n.tool_uses??0} calls)`)}let d=a?e.find(e=>e.type===`subagent_end`&&e.name===t.name):void 0,f=a&&d?vT.test(d.result):!1;return(0,L.jsx)(NT,{icon:a?f?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(te,{size:11}):(0,L.jsx)(Ee,{size:11,className:`tl-spinner`}),isPending:!a,isError:f,summary:s?`${t.name} (background) — ${l}`:`${t.name} — ${l}`,detail:s?u:t.task,tokens:AT(n),elapsed:k(r,o),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}if(n.type===`component`){let e=u?.has(`${f}_${r}`)??!1,i=n;return(0,L.jsxs)(`div`,{className:`tl-step`,children:[oe(r),(0,L.jsxs)(`div`,{className:`tl-col`,children:[(0,L.jsx)(`div`,{className:`tl-icon ${e?`tl-done`:`tl-pending`}`,children:(0,L.jsx)(Pe,{size:11})}),!c&&(0,L.jsx)(`div`,{className:`tl-line tl-line-grow`})]}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsx)(_T,{name:i.name,data:i.data,submitted:e,onSubmit:e=>l?.(r,e,i.name),isStreaming:t,sessionKey:g})})]},r)}if(n.type===`subagent_end`){let e=n,t=vT.test(e.result);return(0,L.jsx)(NT,{icon:t?(0,L.jsx)(Ze,{size:11}):(0,L.jsx)(ne,{size:11}),isPending:!1,isError:t,summary:`${e.name} ${t?`failed`:`complete`}`,detail:e.result,tokens:AT(n),elapsed:k(r,de.get(r)),isLast:c,expanded:i===void 0?_.has(r):i,onToggle:()=>O(r),selectCheck:oe(r)},r)}return null}return(0,L.jsxs)(`div`,{className:`admin-activity`,children:[pe&&!t&&i===void 0&&(0,L.jsx)(`div`,{className:`tl-steps`,children:(0,L.jsxs)(`div`,{className:`tl-step tl-summary-row`,onClick:()=>{window.getSelection()?.toString()||b(e=>!e)},children:[(0,L.jsx)(`div`,{className:`tl-col`,children:(0,L.jsx)(`div`,{className:`tl-icon tl-done`,children:fe.hasThinking?(0,L.jsx)(Se,{size:11}):(0,L.jsx)(ne,{size:11})})}),(0,L.jsx)(`div`,{className:`tl-body`,children:(0,L.jsxs)(`div`,{className:`tl-row`,style:{cursor:`pointer`},children:[(0,L.jsx)(`span`,{className:`tl-summary`,children:fe.text}),fe.tokenSum>0&&(0,L.jsxs)(`span`,{className:`tl-step-tokens`,children:[(0,L.jsx)(Qe,{size:9}),kT(fe.tokenSum)]}),(0,L.jsx)(`span`,{className:`tl-step-elapsed`,children:jT(n)}),(0,L.jsx)(`span`,{className:`tl-chevron`,children:y?(0,L.jsx)(re,{size:10}):(0,L.jsx)(o,{size:10})})]})})]})}),_e.map((e,n)=>e.role===`steps`?!t&&i===void 0&&y?null:(0,L.jsx)(`div`,{className:`tl-steps`,children:e.items.map(({e:t,i:n},r)=>ye(t,n,e.items,r))},`seg-${n}`):e.items.map(({e,i:n})=>{let r=e,i=n===ve;return(0,L.jsxs)(`div`,{className:`tl-text-block`,onClick:p&&!t&&f?()=>h?.(`${f}_${n}`):void 0,style:p&&!t?{cursor:`pointer`}:void 0,children:[oe(n),(0,L.jsx)(C,{content:r.content,timestamp:!t&&i&&f?yT(f):void 0})]},n)})),t&&!me&&(0,L.jsxs)(`div`,{className:`tl-loading`,children:[(0,L.jsx)(xT,{size:13}),(0,L.jsx)(TT,{}),(0,L.jsx)(`span`,{className:`tl-elapsed`,children:jT(n)})]}),!t&&ie.size>0&&(0,L.jsx)(`div`,{className:`tl-post-components`,children:e.map((e,t)=>({e,i:t})).filter(({i:e})=>ie.has(e)).map(({e,i:n})=>{if(e.type!==`component`)return null;let r=u?.has(`${f}_${n}`)??!1;return(0,L.jsx)(_T,{name:e.name,data:e.data,submitted:r,onSubmit:t=>l?.(n,t,e.name),isStreaming:t,sessionKey:g},n)})}),(me||!t&&pe)&&(0,L.jsxs)(`div`,{className:`tl-footer`,children:[t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(xT,{size:10}),(0,L.jsx)(TT,{})]}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,L.jsx)(ce,{size:10}),jT(n)]}),se?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat`,children:[(0,L.jsx)(Qe,{size:10}),kT(se.input_tokens+se.cache_creation_tokens+se.cache_read_tokens+se.output_tokens)]})]}):t&&fe.tokenSum>0?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-footer-est`,children:[(0,L.jsx)(Qe,{size:10}),`~`,kT(fe.tokenSum)]})]}):null,le&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${le.budget>0&&le.tokens/le.budget>=.7?` tl-ctx-high`:le.budget>0&&le.tokens/le.budget>=.5?` tl-ctx-mid`:``}`,children:[(0,L.jsx)(je,{size:10}),le.messages]})]}),c?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-compacted`,children:[(0,L.jsx)(A,{size:10}),`compacted`]})]}):F===null?null:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`tl-footer-sep`,children:`·`}),!c&&a&&!t?(0,L.jsxs)(T,{variant:`ghost`,size:`sm`,className:`tl-footer-icon-stat tl-ctx-pct${F>=70?` tl-ctx-high`:F>=50?` tl-ctx-mid`:``}`,style:{padding:0,fontSize:`11px`},onClick:a,children:[(0,L.jsx)(A,{size:10}),F,`%`]}):(0,L.jsxs)(`span`,{className:`tl-footer-icon-stat tl-ctx-pct${F>=70?` tl-ctx-high`:F>=50?` tl-ctx-mid`:``}`,children:[(0,L.jsx)(A,{size:10}),F,`%`]})]}),s||t&&N?(0,L.jsxs)(`span`,{className:`tl-footer-status`,children:[(0,L.jsx)(Ee,{size:10,className:`tl-spinner`}),N?.message??`Compacting session...`]}):null]})]})}function FT(e){let{messages:n,isStreaming:r,elapsedSeconds:i,sessionTurnStart:s,expandAll:c,setExpandAll:l,sessionCompacted:u,isCompacting:f,setShowCompactConfirm:p,handleComponentSubmit:m,effectiveSubmitted:h,selectionMode:g,selectedItems:_,toggleSelectItem:v,sessionKey:y,setLightboxSrc:b,messageQueue:x,messageQueueRef:C,setQueue:w,sendMessage:T,appState:E,onboardingComplete:D}=e,O=(0,I.useRef)(null),k=(0,I.useRef)(null),A=(0,I.useRef)(null),j=(0,I.useRef)(!1),[ee,M]=I.useState(!0);(0,I.useEffect)(()=>{if(!ee){j.current=r;return}if(j.current&&!r&&A.current&&k.current){let e=A.current;if(e.offsetHeight>k.current.clientHeight){e.scrollIntoView({behavior:`smooth`,block:`start`}),j.current=r;return}}O.current?.scrollIntoView({behavior:`smooth`}),j.current=r},[n,x,ee,r]),(0,I.useEffect)(()=>{if(E!==`chat`)return;let e=k.current;if(!e)return;let t=()=>{M(e.scrollHeight-e.scrollTop-e.clientHeight<80)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[E]);let te=[...n].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),ne=te.reduce((e,t,n)=>t.role===`maxy`&&!t.hidden?n:e,-1);return(0,L.jsxs)(`div`,{className:`chat-messages-wrap`,children:[g&&(0,L.jsx)(`div`,{className:`selection-overlay-band`}),(0,L.jsxs)(`div`,{className:`chat-messages`,ref:k,children:[n.length===0&&E===`chat`&&D!==!1&&(0,L.jsxs)(`div`,{className:`idle-tips`,children:[(0,L.jsx)(`p`,{className:`idle-tips-hint`,children:`What would you like to do?`}),(0,L.jsx)(`div`,{className:`idle-tips-chips`,children:[`What needs doing?`,`Start a new task`].map(e=>(0,L.jsx)(`button`,{type:`button`,className:`idle-tip-chip`,onClick:()=>T(e),children:e},e))})]}),te.map((e,n,o)=>{if(e.hidden)return null;let l=r&&n===o.length-1,x=e.role,C=`${e.timestamp??0}_admin`,w=x===`admin`&&_.has(C),T=(n>0?o[n-1]:null)?.historical&&!e.historical;return(0,L.jsxs)(I.Fragment,{children:[T&&(0,L.jsx)(`div`,{className:`resume-divider`,children:(0,L.jsx)(`span`,{children:`Resumed session`})}),(0,L.jsxs)(`div`,{ref:n===ne?A:void 0,className:`message ${x===`admin`?`visitor`:`maxy`}${w?` selected`:``}${e.historical?` message-historical`:``}`,children:[g&&!l&&x===`admin`&&(0,L.jsx)(`div`,{className:`message-select-check`,children:(0,L.jsx)(d,{checked:w,onChange:()=>v(C)})}),e.role===`admin`?(0,L.jsxs)(`div`,{className:`bubble`,children:[e.content,e.attachments&&e.attachments.length>0&&(0,L.jsx)(`div`,{className:`message-attachments`,children:e.attachments.map((e,n)=>(0,L.jsxs)(`button`,{type:`button`,className:`message-attachment-chip${e.attachmentId&&y?``:` no-action`}`,onClick:()=>{if(!e.attachmentId||!y)return;let t=`/api/admin/attachment/${e.attachmentId}?session_key=${encodeURIComponent(y)}`;e.mimeType.startsWith(`image/`)?b(t):window.open(t,`_blank`)},children:[e.mimeType===`application/pdf`?(0,L.jsx)(a,{size:12}):e.mimeType.startsWith(`text/`)?(0,L.jsx)(t,{size:12}):null,(0,L.jsx)(`span`,{children:e.filename})]},n))}),(0,L.jsx)(`span`,{className:`message-timestamp`,children:S(e.timestamp)})]}):(0,L.jsx)(`div`,{className:`maxy-content-wrap`,children:(0,L.jsx)(PT,{events:e.events??[],isStreaming:l,elapsedSeconds:n===o.length-1?i:e.elapsedSeconds??0,streamStartMs:n===o.length-1?s.current??void 0:void 0,expandAll:c,onCompactNow:n===o.length-1&&!u?()=>p(!0):void 0,isCompacting:n===o.length-1?f:void 0,sessionCompacted:n===o.length-1?u:void 0,onComponentSubmit:(t,n,r)=>m(e.timestamp,t,n,r),submittedComponents:h,timestamp:e.timestamp,selectionMode:g,selectedItems:_,onToggleItem:v,sessionKey:y})})]})]},n)}),x.map((e,n)=>(0,L.jsx)(`div`,{className:`message visitor`,children:(0,L.jsxs)(`div`,{className:`bubble bubble-queued`,children:[e.text||null,e.files.length>0&&(0,L.jsx)(`div`,{className:`message-attachments`,children:e.files.map((e,n)=>(0,L.jsxs)(`span`,{className:`message-attachment-chip no-action`,children:[e.type===`application/pdf`?(0,L.jsx)(a,{size:12}):e.type.startsWith(`text/`)?(0,L.jsx)(t,{size:12}):null,(0,L.jsx)(`span`,{children:e.name})]},n))}),(0,L.jsx)(`button`,{type:`button`,className:`queued-bubble-delete`,onClick:()=>w(C.current.filter((e,t)=>t!==n)),"aria-label":`Remove queued message`,children:`×`})]})},e.timestamp)),(0,L.jsx)(`div`,{ref:O})]}),!ee&&(0,L.jsx)(`button`,{className:`scroll-to-bottom`,onClick:()=>O.current?.scrollIntoView({behavior:`smooth`}),"aria-label":`Scroll to bottom`,children:(0,L.jsx)(o,{size:18})}),n.some(e=>e.role===`maxy`)&&(0,L.jsx)(`button`,{className:`expand-toggle expand-toggle-${c===void 0?`default`:c?`all`:`off`}`,onClick:()=>l(e=>e===void 0?!0:e===!0?!1:void 0),"aria-label":c===void 0?`Expand all`:c?`Collapse all`:`Reset to default`,children:c===!1?(0,L.jsx)(xe,{size:14}):(0,L.jsx)(Se,{size:14})})]})}function IT(e,t){let n=t.lastIndexOf(`_`),r=t.slice(0,n),i=t.slice(n+1),a=parseInt(r,10),o=i===`admin`?`admin`:`maxy`,s=e.find(e=>e.timestamp===a&&e.role===o);if(!s)return``;if(i===`admin`)return s.content??``;let c=parseInt(i,10),l=s.events?.[c];if(!l)return``;if(l.type===`text`||l.type===`thinking`)return l.content;if(l.type===`tool_use`){let e=l,t=`[Tool: ${e.name}]`,n=`Input:\n${JSON.stringify(e.input,null,2)}`,r=s.events??[],i=``;for(let t=c+1;t<r.length;t++){let n=r[t];if(n.type===`tool_result`&&n.name===e.name){i=`\n\nResult:\n${n.output}`;break}}return`${t}\n${n}${i}`}if(l.type===`subagent_start`){let e=l,t=s.events??[],n=``;for(let r=c+1;r<t.length;r++){let i=t[r];if(i.type===`subagent_end`&&i.name===e.name){n=`\n\nResult:\n${i.result}`;break}}return`[${e.name}: ${e.task}]${n}`}return``}function LT(e,t){let n=[...e].sort((e,t)=>(e.timestamp??0)-(t.timestamp??0)),r=[];for(let e of n)if(!e.hidden)if(e.role===`admin`)(t===`all`||t===`text`)&&r.push(`User:\n${e.content}`);else{let n=e.events??[];for(let e=0;e<n.length;e++){let i=n[e];if(i.type===`text`&&(t===`all`||t===`text`))r.push(`Maxy:\n${i.content}`);else if(i.type===`thinking`&&(t===`all`||t===`non-text`))r.push(`Maxy [thinking]:\n${i.content}`);else if(i.type===`tool_use`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`tool_result`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].output}`;break}r.push(`Maxy [tool: ${t.name}]:\nInput:\n${JSON.stringify(t.input,null,2)}${a}`)}else if(i.type===`subagent_start`&&(t===`all`||t===`non-text`)){let t=i,a=``;for(let r=e+1;r<n.length;r++)if(n[r].type===`subagent_end`&&n[r].name===t.name){a=`\n\nResult:\n${n[r].result}`;break}r.push(`Maxy [agent: ${t.name}]\nTask: ${t.task}${a}`)}}}return r.join(`
|
|
349
349
|
|
|
350
350
|
---
|
|
351
351
|
|
|
352
|
-
`)}function RT(e){let{selectionMode:n,selectedItems:r,copyToast:i,exitSelection:o,enterSelection:s,copySelected:c,showCopyToast:u,input:d,setInput:f,inputRef:p,pendingFiles:m,setPendingFiles:h,isDragOver:g,attachError:_,fileInputRef:v,addFiles:b,removeFile:x,onDragOver:S,onDragLeave:C,onDrop:k,isStreaming:A,wasPaused:j,messages:ee,messageQueueRef:te,setQueue:ne,sendMessage:re,stopStreaming:ie,disconnecting:ae,handleDisconnect:oe,claudeInfo:N,setClaudeInfo:se,setShowClaudeInfo:P}=e,[ce,F]=(0,I.useState)(!1),le=(0,I.useRef)(null),[ue,de]=(0,I.useState)(!1),fe=(0,I.useRef)(null),pe=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{n||de(!1)},[n]),(0,I.useEffect)(()=>{if(!ue)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||de(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[ue]),(0,I.useEffect)(()=>{if(!ce)return;let e=e=>{if(e.key===`Escape`){F(!1);return}if(e.key===`Tab`&&le.current){let t=le.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{le.current&&!le.current.contains(e.target)&&F(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[ce]),n?(0,L.jsx)(`div`,{className:`chat-input-area`,children:(0,L.jsxs)(`div`,{className:`selection-bar`,children:[(0,L.jsxs)(`span`,{className:`selection-count`,children:[r.size,` Selected`]}),(0,L.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(ue){de(!1);return}pe.current=!1,fe.current=setTimeout(()=>{pe.current=!0,de(!0),fe.current=null},500)},onPointerUp:()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null)},onPointerLeave:()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null)},onPointerCancel:()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null)},onClick:async()=>{pe.current||await c(e=>IT(ee,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,L.jsx)(D,{size:18}),(0,L.jsx)(`span`,{children:`Copy`})]}),ue&&(0,L.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,L.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=LT(ee,e);t&&u(await E(t)),o()},children:t},e))})]}),(0,L.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:o,children:`Cancel`})]})}):(0,L.jsxs)(`div`,{className:`chat-input-area`,children:[(0,L.jsx)(`input`,{ref:v,type:`file`,multiple:!0,accept:it,style:{display:`none`},onChange:e=>{e.target.files&&b([...e.target.files]),e.target.value=``}}),m.length>0&&(0,L.jsx)(`div`,{className:`attachment-strip`,children:m.map((e,n)=>(0,L.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,L.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,L.jsx)(a,{size:14}):(0,L.jsx)(t,{size:14}),(0,L.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,L.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>x(n),"aria-label":`Remove ${e.name}`,children:`×`})]},n))}),_&&(0,L.jsx)(`p`,{className:`attach-error`,children:_}),(0,L.jsx)(y,{inputRef:p}),(0,L.jsxs)(`form`,{className:`chat-form${g?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=d.trim()||(j?`continue`:``);if(!(!t&&m.length===0)){if(A){ne([...te.current,{text:t,files:[...m],timestamp:Date.now()}]),f(``),h([]),p.current?.resetHeight();return}re(t),p.current?.resetHeight()}},onDragOver:S,onDragLeave:C,onDrop:k,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&b(n)},children:[(0,L.jsx)(T,{variant:`icon`,type:`button`,onClick:()=>v.current?.click(),"aria-label":`Attach file`,children:(0,L.jsx)(O,{size:14})}),(0,L.jsx)(w,{ref:p,value:d,onChange:f}),A?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(T,{variant:`send`,type:`button`,onClick:()=>ie(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,L.jsx)(Fe,{size:14})}),(0,L.jsx)(T,{variant:`send`,type:`button`,onClick:()=>ie(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,L.jsx)(We,{size:14})})]}):(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!d.trim()&&m.length===0&&!j,"aria-label":`Send message`,children:j?(0,L.jsx)(Le,{size:14}):(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`chat-actions`,ref:le,children:[(0,L.jsx)(`button`,{className:`burger-trigger`,onClick:()=>F(e=>!e),"aria-expanded":ce,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,L.jsx)(ke,{size:16})}),(0,L.jsxs)(`div`,{className:`actions-menu-items${ce?` actions-menu-open`:``}`,children:[(0,L.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{F(!1),await oe()},children:[ae?(0,L.jsx)(Te,{size:14,className:`animate-spin`}):(0,L.jsx)(M,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{F(!1);let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&download=1`,e.click()},title:`Download stream log`,children:[(0,L.jsx)(Be,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{F(!1),s()},title:`Select messages`,children:[(0,L.jsx)(l,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,L.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(P(!0),!N){let e=await fetch(`/api/admin/claude-info`);e.ok&&se(await e.json())}},children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,L.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}function zT(e){let{show:t,onClose:n,sessionsLoading:r,sessionsError:i,sessionsList:a,setSessionsList:o,sessionKey:s,resetSession:c,setMessages:l}=e,[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(``),[g,_]=(0,I.useState)(!1),v=(0,I.useRef)(null);(0,I.useEffect)(()=>{t||(d(null),p(null),h(``),_(!1))},[t]),(0,I.useEffect)(()=>{f?.phase===`editing`&&(v.current?.focus(),v.current?.select())},[f]);function y(){d(null),p(null),h(``),_(!1)}async function b(e){if(s){y(),d(e),p({phase:`loading`});try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label?session_key=${encodeURIComponent(s)}`,{method:`POST`});if(!t.ok){p({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Request failed`});return}let n=await t.json();n.label?(p({phase:`editing`}),h(n.label)):p({phase:`error`,reason:`Not enough message content to suggest a name`})}catch{p({phase:`error`,reason:`Network error`})}}}async function x(e){if(!(!s||!m.trim()||g)){_(!0);try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({label:m.trim(),session_key:s})});if(!t.ok){p({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Rename failed`}),_(!1);return}o(t=>t.map(t=>t.conversationId===e?{...t,name:m.trim()}:t)),y()}catch{p({phase:`error`,reason:`Network error`}),_(!1)}}}return t?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal sessions-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(we,{size:12}),`Sessions`,(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`sessions-list`,children:[r&&(0,L.jsxs)(`div`,{className:`sessions-empty`,children:[(0,L.jsx)(Te,{size:14,className:`spin`}),` Loading…`]}),i&&(0,L.jsx)(`div`,{className:`sessions-empty sessions-error`,children:i}),!r&&!i&&a.length===0&&(0,L.jsx)(`div`,{className:`sessions-empty`,children:`No recent sessions`}),!r&&!i&&a.map(e=>{let t=u===e.conversationId,r=t&&f?.phase===`loading`,i=t&&f?.phase===`editing`,a=t&&f?.phase===`error`;return(0,L.jsxs)(`div`,{className:`sessions-row`,children:[(0,L.jsxs)(`div`,{className:`sessions-row-info`,children:[r&&(0,L.jsxs)(`span`,{className:`sessions-row-name sessions-edit-loading`,children:[(0,L.jsx)(Te,{size:12,className:`spin`}),` Generating suggestion…`]}),i&&(0,L.jsxs)(`div`,{className:`sessions-edit-inline`,children:[(0,L.jsx)(`input`,{ref:v,type:`text`,className:`sessions-edit-input`,value:m,onChange:e=>h(e.target.value),onKeyDown:t=>{t.key===`Enter`&&m.trim()&&x(e.conversationId),t.key===`Escape`&&y()},maxLength:200}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-confirm`,title:`Confirm rename`,disabled:!m.trim()||g,onClick:()=>x(e.conversationId),children:g?(0,L.jsx)(Te,{size:13,className:`spin`}):(0,L.jsx)(ne,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-cancel`,title:`Cancel`,onClick:y,children:(0,L.jsx)(Ze,{size:13})})]}),a&&(0,L.jsxs)(`div`,{className:`sessions-edit-inline`,children:[(0,L.jsx)(`span`,{className:`sessions-edit-error`,children:f.reason}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-retry`,title:`Retry`,onClick:()=>b(e.conversationId),children:(0,L.jsx)(ze,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-cancel`,title:`Cancel`,onClick:y,children:(0,L.jsx)(Ze,{size:13})})]}),!t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`sessions-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,L.jsxs)(`span`,{className:`sessions-row-meta`,children:[(0,L.jsx)(`span`,{className:`sessions-row-id`,children:e.conversationId.slice(0,8)}),(0,L.jsxs)(`span`,{className:`sessions-row-time`,children:[(0,L.jsx)(se,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]})]})]}),(0,L.jsx)(`div`,{className:`sessions-row-actions`,children:!t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-rename`,title:`Rename session`,onClick:()=>b(e.conversationId),children:(0,L.jsx)(Ie,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-play`,title:`Resume session`,onClick:()=>{n(),c(),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/messages?session_key=${encodeURIComponent(s)}`).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to load history`))).then(e=>{let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&l(t)}).catch(e=>{console.error(`[chat] session resume failed:`,e),l([{role:`maxy`,events:[{type:`text`,content:`Could not load session history.`}],timestamp:Date.now()-1,historical:!0}])})},children:(0,L.jsx)(Le,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-delete`,title:`Delete session`,onClick:()=>{o(t=>t.filter(t=>t.conversationId!==e.conversationId)),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(s)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] session delete failed:`,e))},children:(0,L.jsx)(qe,{size:13})})]})})]},e.conversationId)})]})]})}):null}function BT({src:e,onClose:t}){return e?(0,L.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,L.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,L.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function VT({show:e,onClose:t,onConfirm:n}){return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`span`,{children:`Compact session?`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,L.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,L.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,L.jsx)(T,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,L.jsx)(T,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function HT(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,sessionKey:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,L.jsx)(`span`,{children:`Claude Code`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,L.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:f>0?nt(f):`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:tt(a)})]}),o&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session ID`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var UT=[{at:0,label:`Starting upgrade…`},{at:3,label:`Installing update…`},{at:12,label:`Restarting Maxy…`},{at:22,label:`Almost there…`}],WT=3e3,GT=12e4;function KT({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,I.useState)(`idle`),[s,c]=(0,I.useState)(null),[l,u]=(0,I.useState)(0),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(null),m=n?.latest??null,h=(0,I.useCallback)(()=>{d.current&&=(clearInterval(d.current),null),f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},[]);(0,I.useEffect)(()=>{e||(h(),o(`idle`),c(null),u(0))},[e,h]),(0,I.useEffect)(()=>h,[h]);let g=UT.reduce((e,t)=>l>=t.at?t.label:e,UT[0].label),_=a===`success`?100:Math.min(l/30*90,90);function v(){d.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`);if(!e.ok)return;let t=await e.json();m&&t.installed===m&&(h(),o(`success`),i())}catch{o(e=>e===`upgrading`||e===`restarting`?`restarting`:e)}},WT)}async function y(){if(!r){console.warn(`[update] Upgrade blocked: no session key`),o(`error`),c(`Session expired — please log in again`);return}if(!m){console.warn(`[update] Upgrade blocked: no target version`),o(`error`),c(`Version data unavailable — close and try again`);return}o(`upgrading`),c(null),u(0),f.current=setInterval(()=>u(e=>e+1),1e3),p.current=setTimeout(()=>{h(),o(`error`),c(`Upgrade timed out. Check /tmp/maxy-upgrade.log on the device.`)},GT);try{let e=await(await fetch(`/api/admin/version/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:r})})).json();if(!e.ok){h(),o(`error`),c(e.error||`Upgrade failed`);return}v()}catch{h(),o(`error`),c(`Failed to start upgrade`)}}return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(a===`idle`||a===`success`||a===`error`)&&t()},children:(0,L.jsxs)(`div`,{className:`claude-info-modal update-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(ue,{size:12}),`Software Update`,(a===`idle`||a===`success`||a===`error`)&&(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),a===`idle`&&(0,L.jsxs)(`div`,{className:`update-modal-body`,children:[(0,L.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,L.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,m??`…`]})]})]}),(0,L.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:y,children:`Upgrade`})]}),(a===`upgrading`||a===`restarting`)&&(0,L.jsx)(`div`,{className:`update-modal-body`,children:(0,L.jsxs)(`div`,{className:`update-modal-progress-wrap`,children:[(0,L.jsx)(`div`,{className:`update-modal-progress-bar`,children:(0,L.jsx)(`div`,{className:`update-modal-progress-fill`,style:{width:`${_}%`}})}),(0,L.jsxs)(`div`,{className:`update-modal-phase`,children:[(0,L.jsx)(Te,{size:12,className:`spin`}),g]})]})}),a===`success`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(ie,{size:20,className:`update-success-icon`}),(0,L.jsxs)(`span`,{children:[`Upgraded to v`,m]})]}),a===`error`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(Je,{size:20,className:`update-error-icon`}),(0,L.jsx)(`span`,{children:s})]})]})}):null}function qT({onClose:e}){et();let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null),i=(0,I.useRef)(null),a=(0,I.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,I.useCallback)(()=>{let t=typeof window<`u`?window.location.hostname:``,o=`/vnc-popout.html?host=${encodeURIComponent(t)}&port=6080&title=Browser`,s=window.open(o,`maxy-vnc-overlay-popout`,`width=1024,height=768`);s&&(r.current=s,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,I.useCallback)(()=>{a(),e()},[a,e]);(0,I.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,I.useEffect)(()=>()=>a(),[a]);let c=St({handlePopout:o,disabled:t}),l=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return t?(0,L.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:`Browser`}),(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:s,"aria-label":`Close`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:`Browser`}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:de,onClick:o,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:s,"aria-label":`Close`})]})]}),(0,L.jsx)(`iframe`,{src:l,className:`browser-viewer-fullscreen__iframe`,title:`Browser`})]})}function JT(){et();let e=(0,I.useRef)(null),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),[p,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(null),[v,y]=(0,I.useState)(!1),[b,S]=(0,I.useState)([]),[C,w]=(0,I.useState)(!1),[T,E]=(0,I.useState)(null),[D,O]=(0,I.useState)(null),[A,j]=(0,I.useState)(!1),[ee,M]=(0,I.useState)(null),[te,ne]=(0,I.useState)(!1),[re,ie]=(0,I.useState)(!1),ae=(0,I.useRef)(!1),oe=(0,I.useRef)(null),N=k(),se=rt(),P=lt(),ce=dt(),F=ut({sessionKey:P.sessionKey,setAppState:P.setAppState,startElapsedTimer:se.startElapsedTimer,stopElapsedTimer:se.stopElapsedTimer,resetTimerState:se.resetTimerState,pausedElapsedRef:se.pausedElapsedRef,expandAllDefaultRef:P.expandAllDefaultRef,setExpandAll:P.setExpandAll,getPendingFiles:()=>ce.pendingFiles,clearPendingFiles:ce.clearFiles,inputRef:e});return(0,I.useEffect)(()=>{c(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,I.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):N.selectionMode&&N.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,N.selectionMode]),(0,I.useEffect)(()=>{(P.appState===`set-pin`||P.appState===`enter-pin`)&&setTimeout(()=>P.pinInputRef.current?.focus(),100),P.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[P.appState,F.greetingGeneration]),(0,I.useEffect)(()=>{P.appState===`chat`&&P.onboardingComplete===!1&&(ae.current||(ae.current=!0,F.sendSystemPrompt(`[New session. Assess the current state and introduce yourself. Be proactive.]`)))},[P.appState,P.onboardingComplete]),(0,I.useEffect)(()=>{if(!l)return;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||O(t)}).catch(()=>{}),()=>{e=!0}},[l]),(0,I.useEffect)(()=>{if(!l){f(null),_(null),O(null);return}function e(e){oe.current&&!oe.current.contains(e.target)&&u(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,I.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`platform-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&F.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),P.appState===`loading`?(0,L.jsx)(`div`,{className:`chat-page admin-page`,children:(0,L.jsx)(`header`,{className:`chat-header`,children:(0,L.jsx)(`img`,{src:m,alt:x.productName,className:`chat-logo`})})}):P.appState===`set-pin`?(0,L.jsx)(pt,{pin:P.pin,setPin:P.setPin,confirmPin:P.confirmPin,setConfirmPin:P.setConfirmPin,showPin:P.showPin,setShowPin:P.setShowPin,pinLoading:P.pinLoading,pinError:P.pinError,pinInputRef:P.pinInputRef,confirmPinInputRef:P.confirmPinInputRef,setPinFormRef:P.setPinFormRef,onSubmit:P.handleSetPin}):P.appState===`connect-claude`?(0,L.jsx)(ht,{authPolling:P.authPolling,setAuthPolling:P.setAuthPolling,authLoading:P.authLoading,setAuthLoading:P.setAuthLoading,pinError:P.pinError,setPinError:P.setPinError,setAppState:P.setAppState}):P.appState===`enter-pin`?(0,L.jsx)(mt,{pin:P.pin,setPin:P.setPin,showPin:P.showPin,setShowPin:P.setShowPin,pinLoading:P.pinLoading,pinError:P.pinError,pinInputRef:P.pinInputRef,onSubmit:P.handleLogin,onChangePin:P.handleChangePin}):(0,L.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,L.jsxs)(`header`,{className:`chat-header`,children:[(0,L.jsx)(`img`,{src:m,alt:x.productName,className:`chat-logo`}),(!x.logoContainsName||P.businessName)&&(0,L.jsx)(`div`,{children:(0,L.jsx)(`h1`,{className:`chat-tagline`,children:P.businessName||x.productName})}),(0,L.jsxs)(`div`,{className:`chat-burger-wrap`,ref:oe,children:[(0,L.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>u(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":l,children:(0,L.jsx)(ke,{size:20})}),l&&(0,L.jsxs)(`div`,{className:`chat-menu`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),F.startNewSession()},disabled:F.isStreaming||F.isCompacting,children:[(0,L.jsx)(he,{size:14}),` New session`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{u(!1),y(!0),w(!0),E(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(P.sessionKey)}`);if(!e.ok)throw Error(`Failed to load sessions`);S((await e.json()).sessions??[])}catch{E(`Failed to load sessions`)}finally{w(!1)}},children:[(0,L.jsx)(we,{size:14}),` Sessions`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(te||re)){ie(!0),u(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);ne(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{ie(!1)}}},disabled:re,children:[(0,L.jsx)(_e,{size:14}),` Browser`,re&&(0,L.jsx)(Te,{size:12,className:`spin`})]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(d!==null){f(null);return}h(!0),_(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);f((await e.json()).agents??[])}catch{_(`Failed to load agents`)}finally{h(!1)}},children:[(0,L.jsx)(de,{size:14}),` Public`,p&&(0,L.jsx)(Te,{size:12,className:`spin`})]}),d!==null&&(0,L.jsxs)(`div`,{className:`chat-menu-agents`,children:[g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-error`,children:g}),d.length===0&&!g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),d.map(e=>(0,L.jsxs)(`a`,{href:`${s}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`chat-menu-item chat-menu-agent-item`,onClick:()=>u(!1),children:[(0,L.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,L.jsxs)(`span`,{className:`agent-text`,children:[(0,L.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,L.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]})]},e.slug))]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),D?.updateAvailable?(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{D.latest&&(M(D),u(!1),j(!0))},children:[(0,L.jsx)(ye,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[`v`,D.installed,(0,L.jsx)(`span`,{className:`version-update-dot`})]})]}):(0,L.jsxs)(`div`,{className:`chat-menu-version chat-menu-version-passive`,children:[(0,L.jsx)(ye,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[D?`v${D.installed}`:`…`,D&&!D.updateAvailable&&(0,L.jsx)(`span`,{className:`version-uptodate-dot`})]})]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),P.handleLogout(),F.setMessages([])},children:[(0,L.jsx)(De,{size:14}),` Log out`]})]})]})]}),(0,L.jsx)(FT,{messages:F.messages,isStreaming:F.isStreaming,elapsedSeconds:se.elapsedSeconds,sessionTurnStart:se.sessionTurnStart,expandAll:P.expandAll,setExpandAll:P.setExpandAll,sessionCompacted:F.sessionCompacted,isCompacting:F.isCompacting,setShowCompactConfirm:o,handleComponentSubmit:F.handleComponentSubmit,effectiveSubmitted:F.effectiveSubmitted,selectionMode:N.selectionMode,selectedItems:N.selectedItems,toggleSelectItem:N.toggleSelectItem,sessionKey:P.sessionKey,setLightboxSrc:n,messageQueue:F.messageQueue,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,appState:P.appState,onboardingComplete:P.onboardingComplete}),(0,L.jsx)(RT,{selectionMode:N.selectionMode,selectedItems:N.selectedItems,copyToast:N.copyToast,exitSelection:N.exitSelection,enterSelection:N.enterSelection,copySelected:N.copySelected,showCopyToast:N.showCopyToast,input:F.input,setInput:F.setInput,inputRef:e,pendingFiles:ce.pendingFiles,setPendingFiles:ce.setPendingFiles,isDragOver:ce.isDragOver,attachError:ce.attachError,fileInputRef:ce.fileInputRef,addFiles:ce.addFiles,removeFile:ce.removeFile,onDragOver:ce.onDragOver,onDragLeave:ce.onDragLeave,onDrop:ce.onDrop,isStreaming:F.isStreaming,wasPaused:F.wasPaused,messages:F.messages,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,stopStreaming:F.stopStreaming,disconnecting:P.disconnecting,handleDisconnect:P.handleDisconnect,claudeInfo:P.claudeInfo,setClaudeInfo:P.setClaudeInfo,setShowClaudeInfo:i}),N.copyToast&&(0,L.jsx)(`span`,{className:`copy-toast${N.copyToast===`failed`?` copy-toast-failed`:``}`,children:N.copyToast===`copied`?`Copied`:`Copy failed`}),(0,L.jsx)(zT,{show:v,onClose:()=>y(!1),sessionsLoading:C,sessionsError:T,sessionsList:b,setSessionsList:S,sessionKey:P.sessionKey,resetSession:F.resetSession,setMessages:F.setMessages}),(0,L.jsx)(BT,{src:t,onClose:()=>n(null)}),(0,L.jsx)(VT,{show:a,onClose:()=>o(!1),onConfirm:F.handleCompactNow}),(0,L.jsx)(HT,{show:r,onClose:()=>{i(!1),P.setClaudeInfo(null)},claudeInfo:P.claudeInfo,messages:F.messages,sessionElapsed:se.sessionElapsed,sessionKey:P.sessionKey,contextModeHint:P.contextModeHint,handleContextModeToggle:P.handleContextModeToggle}),(0,L.jsx)(KT,{show:A,onClose:()=>j(!1),versionInfo:ee,sessionKey:P.sessionKey,onUpgradeComplete:()=>O(null)}),te&&(0,L.jsx)(qT,{onClose:()=>ne(!1)})]})}(0,$e.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(JT,{}));
|
|
352
|
+
`)}function RT(e){let{selectionMode:n,selectedItems:r,copyToast:i,exitSelection:o,enterSelection:s,copySelected:c,showCopyToast:u,input:d,setInput:f,inputRef:p,pendingFiles:m,setPendingFiles:h,isDragOver:g,attachError:_,fileInputRef:v,addFiles:b,removeFile:x,onDragOver:S,onDragLeave:C,onDrop:k,isStreaming:A,wasPaused:j,messages:ee,messageQueueRef:te,setQueue:ne,sendMessage:re,stopStreaming:ie,disconnecting:ae,handleDisconnect:oe,claudeInfo:se,setClaudeInfo:ce,setShowClaudeInfo:le}=e,[N,ue]=(0,I.useState)(!1),P=(0,I.useRef)(null),[de,fe]=(0,I.useState)(!1),F=(0,I.useRef)(null),pe=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{n||fe(!1)},[n]),(0,I.useEffect)(()=>{if(!de)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||fe(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[de]),(0,I.useEffect)(()=>{if(!N)return;let e=e=>{if(e.key===`Escape`){ue(!1);return}if(e.key===`Tab`&&P.current){let t=P.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{P.current&&!P.current.contains(e.target)&&ue(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[N]),n?(0,L.jsx)(`div`,{className:`chat-input-area`,children:(0,L.jsxs)(`div`,{className:`selection-bar`,children:[(0,L.jsxs)(`span`,{className:`selection-count`,children:[r.size,` Selected`]}),(0,L.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(de){fe(!1);return}pe.current=!1,F.current=setTimeout(()=>{pe.current=!0,fe(!0),F.current=null},500)},onPointerUp:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerLeave:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerCancel:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onClick:async()=>{pe.current||await c(e=>IT(ee,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,L.jsx)(D,{size:18}),(0,L.jsx)(`span`,{children:`Copy`})]}),de&&(0,L.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,L.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=LT(ee,e);t&&u(await E(t)),o()},children:t},e))})]}),(0,L.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:o,children:`Cancel`})]})}):(0,L.jsxs)(`div`,{className:`chat-input-area`,children:[(0,L.jsx)(`input`,{ref:v,type:`file`,multiple:!0,accept:it,style:{display:`none`},onChange:e=>{e.target.files&&b([...e.target.files]),e.target.value=``}}),m.length>0&&(0,L.jsx)(`div`,{className:`attachment-strip`,children:m.map((e,n)=>(0,L.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,L.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,L.jsx)(a,{size:14}):(0,L.jsx)(t,{size:14}),(0,L.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,L.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>x(n),"aria-label":`Remove ${e.name}`,children:`×`})]},n))}),_&&(0,L.jsx)(`p`,{className:`attach-error`,children:_}),(0,L.jsx)(y,{inputRef:p}),(0,L.jsxs)(`form`,{className:`chat-form${g?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=d.trim()||(j?`continue`:``);if(!(!t&&m.length===0)){if(A){ne([...te.current,{text:t,files:[...m],timestamp:Date.now()}]),f(``),h([]),p.current?.resetHeight();return}re(t),p.current?.resetHeight()}},onDragOver:S,onDragLeave:C,onDrop:k,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&b(n)},children:[(0,L.jsx)(T,{variant:`icon`,type:`button`,onClick:()=>v.current?.click(),"aria-label":`Attach file`,children:(0,L.jsx)(O,{size:14})}),(0,L.jsx)(w,{ref:p,value:d,onChange:f}),A?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(T,{variant:`send`,type:`button`,onClick:()=>ie(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,L.jsx)(Fe,{size:14})}),(0,L.jsx)(T,{variant:`send`,type:`button`,onClick:()=>ie(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,L.jsx)(We,{size:14})})]}):(0,L.jsx)(T,{variant:`send`,type:`submit`,disabled:!d.trim()&&m.length===0&&!j,"aria-label":`Send message`,children:j?(0,L.jsx)(Le,{size:14}):(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`chat-actions`,ref:P,children:[(0,L.jsx)(`button`,{className:`burger-trigger`,onClick:()=>ue(e=>!e),"aria-expanded":N,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,L.jsx)(ke,{size:16})}),(0,L.jsxs)(`div`,{className:`actions-menu-items${N?` actions-menu-open`:``}`,children:[(0,L.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{ue(!1),await oe()},children:[ae?(0,L.jsx)(Te,{size:14,className:`animate-spin`}):(0,L.jsx)(M,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1);let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&download=1`,e.click()},title:`Download stream log`,children:[(0,L.jsx)(Be,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1),s()},title:`Select messages`,children:[(0,L.jsx)(l,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,L.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(le(!0),!se){let e=await fetch(`/api/admin/claude-info`);e.ok&&ce(await e.json())}},children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,L.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}function zT(e){let{show:t,onClose:n,sessionsLoading:r,sessionsError:i,sessionsList:a,setSessionsList:o,sessionKey:s,resetSession:c,setMessages:l}=e,[u,d]=(0,I.useState)(null),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(``),[g,_]=(0,I.useState)(!1),v=(0,I.useRef)(null);(0,I.useEffect)(()=>{t||(d(null),p(null),h(``),_(!1))},[t]),(0,I.useEffect)(()=>{f?.phase===`editing`&&(v.current?.focus(),v.current?.select())},[f]);function y(){d(null),p(null),h(``),_(!1)}async function b(e){if(s){y(),d(e),p({phase:`loading`});try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label?session_key=${encodeURIComponent(s)}`,{method:`POST`});if(!t.ok){p({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Request failed`});return}let n=await t.json();n.label?(p({phase:`editing`}),h(n.label)):p({phase:`error`,reason:`Not enough message content to suggest a name`})}catch{p({phase:`error`,reason:`Network error`})}}}async function x(e){if(!(!s||!m.trim()||g)){_(!0);try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(e)}/label`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({label:m.trim(),session_key:s})});if(!t.ok){p({phase:`error`,reason:(await t.json().catch(()=>({}))).error||`Rename failed`}),_(!1);return}o(t=>t.map(t=>t.conversationId===e?{...t,name:m.trim()}:t)),y()}catch{p({phase:`error`,reason:`Network error`}),_(!1)}}}return t?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal sessions-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(we,{size:12}),`Sessions`,(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`sessions-list`,children:[r&&(0,L.jsxs)(`div`,{className:`sessions-empty`,children:[(0,L.jsx)(Te,{size:14,className:`spin`}),` Loading…`]}),i&&(0,L.jsx)(`div`,{className:`sessions-empty sessions-error`,children:i}),!r&&!i&&a.length===0&&(0,L.jsx)(`div`,{className:`sessions-empty`,children:`No recent sessions`}),!r&&!i&&a.map(e=>{let t=u===e.conversationId,r=t&&f?.phase===`loading`,i=t&&f?.phase===`editing`,a=t&&f?.phase===`error`;return(0,L.jsxs)(`div`,{className:`sessions-row`,children:[(0,L.jsxs)(`div`,{className:`sessions-row-info`,children:[r&&(0,L.jsxs)(`span`,{className:`sessions-row-name sessions-edit-loading`,children:[(0,L.jsx)(Te,{size:12,className:`spin`}),` Generating suggestion…`]}),i&&(0,L.jsxs)(`div`,{className:`sessions-edit-inline`,children:[(0,L.jsx)(`input`,{ref:v,type:`text`,className:`sessions-edit-input`,value:m,onChange:e=>h(e.target.value),onKeyDown:t=>{t.key===`Enter`&&m.trim()&&x(e.conversationId),t.key===`Escape`&&y()},maxLength:200}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-confirm`,title:`Confirm rename`,disabled:!m.trim()||g,onClick:()=>x(e.conversationId),children:g?(0,L.jsx)(Te,{size:13,className:`spin`}):(0,L.jsx)(ne,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-cancel`,title:`Cancel`,onClick:y,children:(0,L.jsx)(Ze,{size:13})})]}),a&&(0,L.jsxs)(`div`,{className:`sessions-edit-inline`,children:[(0,L.jsx)(`span`,{className:`sessions-edit-error`,children:f.reason}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-retry`,title:`Retry`,onClick:()=>b(e.conversationId),children:(0,L.jsx)(ze,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-cancel`,title:`Cancel`,onClick:y,children:(0,L.jsx)(Ze,{size:13})})]}),!t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`sessions-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,L.jsxs)(`span`,{className:`sessions-row-meta`,children:[(0,L.jsx)(`span`,{className:`sessions-row-id`,children:e.conversationId.slice(0,8)}),(0,L.jsxs)(`span`,{className:`sessions-row-time`,children:[(0,L.jsx)(ce,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]})]})]}),(0,L.jsx)(`div`,{className:`sessions-row-actions`,children:!t&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-rename`,title:`Rename session`,onClick:()=>b(e.conversationId),children:(0,L.jsx)(Ie,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-play`,title:`Resume session`,onClick:()=>{n(),c(),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/messages?session_key=${encodeURIComponent(s)}`).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to load history`))).then(e=>{let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&l(t)}).catch(e=>{console.error(`[chat] session resume failed:`,e),l([{role:`maxy`,events:[{type:`text`,content:`Could not load session history.`}],timestamp:Date.now()-1,historical:!0}])})},children:(0,L.jsx)(Le,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-delete`,title:`Delete session`,onClick:()=>{o(t=>t.filter(t=>t.conversationId!==e.conversationId)),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(s)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] session delete failed:`,e))},children:(0,L.jsx)(qe,{size:13})})]})})]},e.conversationId)})]})]})}):null}function BT({src:e,onClose:t}){return e?(0,L.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,L.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,L.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function VT({show:e,onClose:t,onConfirm:n}){return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`span`,{children:`Compact session?`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,L.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,L.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,L.jsx)(T,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,L.jsx)(T,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function HT(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,sessionKey:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,L.jsx)(`span`,{children:`Claude Code`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,L.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:f>0?nt(f):`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:tt(a)})]}),o&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session ID`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var UT=[{at:0,label:`Starting upgrade…`},{at:3,label:`Installing update…`},{at:12,label:`Restarting Maxy…`},{at:22,label:`Almost there…`}],WT=3e3,GT=12e4;function KT({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,I.useState)(`idle`),[s,c]=(0,I.useState)(null),[l,u]=(0,I.useState)(0),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(null),m=n?.latest??null,h=(0,I.useCallback)(()=>{d.current&&=(clearInterval(d.current),null),f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},[]);(0,I.useEffect)(()=>{e||(h(),o(`idle`),c(null),u(0))},[e,h]),(0,I.useEffect)(()=>h,[h]);let g=UT.reduce((e,t)=>l>=t.at?t.label:e,UT[0].label),_=a===`success`?100:Math.min(l/30*90,90);function v(){d.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`);if(!e.ok)return;let t=await e.json();m&&t.installed===m&&(h(),o(`success`),i())}catch{o(e=>e===`upgrading`||e===`restarting`?`restarting`:e)}},WT)}async function y(){if(!r){console.warn(`[update] Upgrade blocked: no session key`),o(`error`),c(`Session expired — please log in again`);return}if(!m){console.warn(`[update] Upgrade blocked: no target version`),o(`error`),c(`Version data unavailable — close and try again`);return}o(`upgrading`),c(null),u(0),f.current=setInterval(()=>u(e=>e+1),1e3),p.current=setTimeout(()=>{h(),o(`error`),c(`Upgrade timed out. Check /tmp/maxy-upgrade.log on the device.`)},GT);try{let e=await(await fetch(`/api/admin/version/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:r})})).json();if(!e.ok){h(),o(`error`),c(e.error||`Upgrade failed`);return}v()}catch{h(),o(`error`),c(`Failed to start upgrade`)}}return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(a===`idle`||a===`success`||a===`error`)&&t()},children:(0,L.jsxs)(`div`,{className:`claude-info-modal update-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(de,{size:12}),`Software Update`,(a===`idle`||a===`success`||a===`error`)&&(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),a===`idle`&&(0,L.jsxs)(`div`,{className:`update-modal-body`,children:[(0,L.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,L.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,m??`…`]})]})]}),(0,L.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:y,children:`Upgrade`})]}),(a===`upgrading`||a===`restarting`)&&(0,L.jsx)(`div`,{className:`update-modal-body`,children:(0,L.jsxs)(`div`,{className:`update-modal-progress-wrap`,children:[(0,L.jsx)(`div`,{className:`update-modal-progress-bar`,children:(0,L.jsx)(`div`,{className:`update-modal-progress-fill`,style:{width:`${_}%`}})}),(0,L.jsxs)(`div`,{className:`update-modal-phase`,children:[(0,L.jsx)(Te,{size:12,className:`spin`}),g]})]})}),a===`success`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(ie,{size:20,className:`update-success-icon`}),(0,L.jsxs)(`span`,{children:[`Upgraded to v`,m]})]}),a===`error`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(Je,{size:20,className:`update-error-icon`}),(0,L.jsx)(`span`,{children:s})]})]})}):null}function qT({onClose:e}){et();let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null),i=(0,I.useRef)(null),a=(0,I.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,I.useCallback)(()=>{let t=typeof window<`u`?window.location.hostname:``,o=`/vnc-popout.html?host=${encodeURIComponent(t)}&port=6080&title=Browser`,s=window.open(o,`maxy-vnc-overlay-popout`,`width=1024,height=768`);s&&(r.current=s,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,I.useCallback)(()=>{a(),e()},[a,e]);(0,I.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,I.useEffect)(()=>()=>a(),[a]);let c=St({handlePopout:o,disabled:t}),l=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return t?(0,L.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:`Browser`}),(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Me,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:s,"aria-label":`Close`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,L.jsx)(_e,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:`Browser`}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:fe,onClick:o,"aria-label":`Pop out`}),(0,L.jsx)(T,{variant:`ghost`,size:`sm`,icon:Ze,onClick:s,"aria-label":`Close`})]})]}),(0,L.jsx)(`iframe`,{src:l,className:`browser-viewer-fullscreen__iframe`,title:`Browser`})]})}function JT(){et();let e=(0,I.useRef)(null),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),[p,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(null),[v,y]=(0,I.useState)(null),[b,S]=(0,I.useState)(!1),[C,w]=(0,I.useState)([]),[T,E]=(0,I.useState)(!1),[D,O]=(0,I.useState)(null),[A,j]=(0,I.useState)(null),[ee,M]=(0,I.useState)(!1),[te,re]=(0,I.useState)(null),[ie,ae]=(0,I.useState)(!1),[oe,se]=(0,I.useState)(!1),ce=(0,I.useRef)(!1),le=(0,I.useRef)(null),N=k(),ue=rt(),P=lt(),de=dt(),F=ut({sessionKey:P.sessionKey,setAppState:P.setAppState,startElapsedTimer:ue.startElapsedTimer,stopElapsedTimer:ue.stopElapsedTimer,resetTimerState:ue.resetTimerState,pausedElapsedRef:ue.pausedElapsedRef,expandAllDefaultRef:P.expandAllDefaultRef,setExpandAll:P.setExpandAll,getPendingFiles:()=>de.pendingFiles,clearPendingFiles:de.clearFiles,inputRef:e});return(0,I.useEffect)(()=>{c(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,I.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):N.selectionMode&&N.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,N.selectionMode]),(0,I.useEffect)(()=>{(P.appState===`set-pin`||P.appState===`enter-pin`)&&setTimeout(()=>P.pinInputRef.current?.focus(),100),P.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[P.appState,F.greetingGeneration]),(0,I.useEffect)(()=>{P.appState===`chat`&&P.onboardingComplete===!1&&(ce.current||(ce.current=!0,F.sendSystemPrompt(`[New session. Assess the current state and introduce yourself. Be proactive.]`)))},[P.appState,P.onboardingComplete]),(0,I.useEffect)(()=>{if(!l)return;let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||j(t)}).catch(()=>{}),()=>{e=!0}},[l]),(0,I.useEffect)(()=>{if(!l){f(null),_(null),y(null),j(null);return}function e(e){le.current&&!le.current.contains(e.target)&&u(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,I.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`platform-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&F.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),P.appState===`loading`?(0,L.jsx)(`div`,{className:`chat-page admin-page`,children:(0,L.jsx)(`header`,{className:`chat-header`,children:(0,L.jsx)(`img`,{src:m,alt:x.productName,className:`chat-logo`})})}):P.appState===`set-pin`?(0,L.jsx)(pt,{pin:P.pin,setPin:P.setPin,confirmPin:P.confirmPin,setConfirmPin:P.setConfirmPin,showPin:P.showPin,setShowPin:P.setShowPin,pinLoading:P.pinLoading,pinError:P.pinError,pinInputRef:P.pinInputRef,confirmPinInputRef:P.confirmPinInputRef,setPinFormRef:P.setPinFormRef,onSubmit:P.handleSetPin}):P.appState===`connect-claude`?(0,L.jsx)(ht,{authPolling:P.authPolling,setAuthPolling:P.setAuthPolling,authLoading:P.authLoading,setAuthLoading:P.setAuthLoading,pinError:P.pinError,setPinError:P.setPinError,setAppState:P.setAppState}):P.appState===`enter-pin`?(0,L.jsx)(mt,{pin:P.pin,setPin:P.setPin,showPin:P.showPin,setShowPin:P.setShowPin,pinLoading:P.pinLoading,pinError:P.pinError,pinInputRef:P.pinInputRef,onSubmit:P.handleLogin,onChangePin:P.handleChangePin}):(0,L.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,L.jsxs)(`header`,{className:`chat-header`,children:[(0,L.jsx)(`img`,{src:m,alt:x.productName,className:`chat-logo`}),(!x.logoContainsName||P.businessName)&&(0,L.jsx)(`div`,{children:(0,L.jsx)(`h1`,{className:`chat-tagline`,children:P.businessName||x.productName})}),(0,L.jsxs)(`div`,{className:`chat-burger-wrap`,ref:le,children:[(0,L.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>u(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":l,children:(0,L.jsx)(ke,{size:20})}),l&&(0,L.jsxs)(`div`,{className:`chat-menu`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),F.startNewSession()},disabled:F.isStreaming||F.isCompacting,children:[(0,L.jsx)(he,{size:14}),` New session`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{u(!1),S(!0),E(!0),O(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(P.sessionKey)}`);if(!e.ok)throw Error(`Failed to load sessions`);w((await e.json()).sessions??[])}catch{O(`Failed to load sessions`)}finally{E(!1)}},children:[(0,L.jsx)(we,{size:14}),` Sessions`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(ie||oe)){se(!0),u(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);ae(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{se(!1)}}},disabled:oe,children:[(0,L.jsx)(_e,{size:14}),` Browser`,oe&&(0,L.jsx)(Te,{size:12,className:`spin`})]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(d!==null){f(null),y(null);return}h(!0),_(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);f((await e.json()).agents??[])}catch{_(`Failed to load agents`)}finally{h(!1)}},children:[(0,L.jsx)(fe,{size:14}),` Public`,p&&(0,L.jsx)(Te,{size:12,className:`spin`})]}),d!==null&&(0,L.jsxs)(`div`,{className:`chat-menu-agents`,children:[g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-error`,children:g}),d.length===0&&!g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),d.map(e=>(0,L.jsxs)(`div`,{className:`chat-menu-item chat-menu-agent-item`,children:[(0,L.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,L.jsxs)(`span`,{className:`agent-text`,children:[(0,L.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,L.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]}),v===e.slug?(0,L.jsxs)(`span`,{className:`agent-actions agent-confirm`,children:[(0,L.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-yes`,title:`Confirm delete`,onClick:()=>{y(null),f(t=>t?.filter(t=>t.slug!==e.slug)??null),fetch(`/api/admin/agents/${encodeURIComponent(e.slug)}`,{method:`DELETE`}).catch(e=>console.error(`[admin/agents] delete failed:`,e))},children:(0,L.jsx)(ne,{size:12})}),(0,L.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-confirm-no`,title:`Cancel`,onClick:()=>y(null),children:(0,L.jsx)(Ze,{size:12})})]}):(0,L.jsxs)(`span`,{className:`agent-actions`,children:[(0,L.jsx)(`a`,{href:`${s}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`agent-action-btn`,title:`Open agent`,onClick:()=>u(!1),children:(0,L.jsx)(fe,{size:12})}),(0,L.jsx)(`button`,{type:`button`,className:`agent-action-btn agent-delete-btn`,title:`Delete agent`,onClick:()=>y(e.slug),children:(0,L.jsx)(qe,{size:12})})]})]},e.slug))]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),A?.updateAvailable?(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{A.latest&&(re(A),u(!1),M(!0))},children:[(0,L.jsx)(ye,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[`v`,A.installed,(0,L.jsx)(`span`,{className:`version-update-dot`})]})]}):(0,L.jsxs)(`div`,{className:`chat-menu-version chat-menu-version-passive`,children:[(0,L.jsx)(ye,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[A?`v${A.installed}`:`…`,A&&!A.updateAvailable&&(0,L.jsx)(`span`,{className:`version-uptodate-dot`})]})]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),P.handleLogout(),F.setMessages([])},children:[(0,L.jsx)(De,{size:14}),` Log out`]})]})]})]}),(0,L.jsx)(FT,{messages:F.messages,isStreaming:F.isStreaming,elapsedSeconds:ue.elapsedSeconds,sessionTurnStart:ue.sessionTurnStart,expandAll:P.expandAll,setExpandAll:P.setExpandAll,sessionCompacted:F.sessionCompacted,isCompacting:F.isCompacting,setShowCompactConfirm:o,handleComponentSubmit:F.handleComponentSubmit,effectiveSubmitted:F.effectiveSubmitted,selectionMode:N.selectionMode,selectedItems:N.selectedItems,toggleSelectItem:N.toggleSelectItem,sessionKey:P.sessionKey,setLightboxSrc:n,messageQueue:F.messageQueue,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,appState:P.appState,onboardingComplete:P.onboardingComplete}),(0,L.jsx)(RT,{selectionMode:N.selectionMode,selectedItems:N.selectedItems,copyToast:N.copyToast,exitSelection:N.exitSelection,enterSelection:N.enterSelection,copySelected:N.copySelected,showCopyToast:N.showCopyToast,input:F.input,setInput:F.setInput,inputRef:e,pendingFiles:de.pendingFiles,setPendingFiles:de.setPendingFiles,isDragOver:de.isDragOver,attachError:de.attachError,fileInputRef:de.fileInputRef,addFiles:de.addFiles,removeFile:de.removeFile,onDragOver:de.onDragOver,onDragLeave:de.onDragLeave,onDrop:de.onDrop,isStreaming:F.isStreaming,wasPaused:F.wasPaused,messages:F.messages,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,stopStreaming:F.stopStreaming,disconnecting:P.disconnecting,handleDisconnect:P.handleDisconnect,claudeInfo:P.claudeInfo,setClaudeInfo:P.setClaudeInfo,setShowClaudeInfo:i}),N.copyToast&&(0,L.jsx)(`span`,{className:`copy-toast${N.copyToast===`failed`?` copy-toast-failed`:``}`,children:N.copyToast===`copied`?`Copied`:`Copy failed`}),(0,L.jsx)(zT,{show:b,onClose:()=>S(!1),sessionsLoading:T,sessionsError:D,sessionsList:C,setSessionsList:w,sessionKey:P.sessionKey,resetSession:F.resetSession,setMessages:F.setMessages}),(0,L.jsx)(BT,{src:t,onClose:()=>n(null)}),(0,L.jsx)(VT,{show:a,onClose:()=>o(!1),onConfirm:F.handleCompactNow}),(0,L.jsx)(HT,{show:r,onClose:()=>{i(!1),P.setClaudeInfo(null)},claudeInfo:P.claudeInfo,messages:F.messages,sessionElapsed:ue.sessionElapsed,sessionKey:P.sessionKey,contextModeHint:P.contextModeHint,handleContextModeToggle:P.handleContextModeToggle}),(0,L.jsx)(KT,{show:ee,onClose:()=>M(!1),versionInfo:te,sessionKey:P.sessionKey,onUpgradeComplete:()=>j(null)}),ie&&(0,L.jsx)(qT,{onClose:()=>ae(!1)})]})}(0,$e.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(JT,{}));
|