@tt-a1i/hive 1.4.0 → 1.4.3

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.
Files changed (31) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/NOTICE +15 -0
  3. package/README.en.md +3 -1
  4. package/README.md +3 -1
  5. package/TRADEMARK.md +41 -0
  6. package/dist/src/cli/hive-update.d.ts +3 -0
  7. package/dist/src/cli/hive-update.js +59 -7
  8. package/dist/src/server/app.d.ts +2 -1
  9. package/dist/src/server/app.js +68 -1
  10. package/dist/src/server/hive-team-guidance.js +1 -0
  11. package/dist/src/server/marketplace-store.js +21 -5
  12. package/package.json +3 -1
  13. package/web/dist/assets/AddWorkerDialog-DmkDOdp6.js +2 -0
  14. package/web/dist/assets/{AddWorkspaceDialog-DVqabcvo.js → AddWorkspaceDialog-BsVnH3Xe.js} +1 -1
  15. package/web/dist/assets/{FirstRunWizard-DOM6bcpn.js → FirstRunWizard-SAd1wsH4.js} +1 -1
  16. package/web/dist/assets/MarketplaceDrawer-B_8aG2uT.js +76 -0
  17. package/web/dist/assets/WorkerModal-CQmjiPme.js +1 -0
  18. package/web/dist/assets/WorkspaceTaskDrawer-B0DmCWcV.js +1 -0
  19. package/web/dist/assets/WorkspaceTerminalPanels-BReWh1YL.js +1 -0
  20. package/web/dist/assets/WorkspaceTerminalPanels-DDGTF8rc.css +1 -0
  21. package/web/dist/assets/{chevron-right-39MYBReb.js → chevron-right-CtLjVEl7.js} +1 -1
  22. package/web/dist/assets/index-BEsTmfrO.css +1 -0
  23. package/web/dist/assets/index-Cn8X3get.js +76 -0
  24. package/web/dist/bilibili.ico +0 -0
  25. package/web/dist/index.html +2 -2
  26. package/web/dist/sw.js +1 -1
  27. package/web/dist/assets/AddWorkerDialog-TAWWMQti.js +0 -75
  28. package/web/dist/assets/WorkerModal-ALxWif7E.js +0 -1
  29. package/web/dist/assets/WorkspaceTaskDrawer-8IVJMUe-.js +0 -1
  30. package/web/dist/assets/index-7NLKrr1z.js +0 -81
  31. package/web/dist/assets/index-DsdHICGY.css +0 -1
Binary file
@@ -27,8 +27,8 @@
27
27
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap"
28
28
  rel="stylesheet"
29
29
  />
30
- <script type="module" crossorigin src="/assets/index-7NLKrr1z.js"></script>
31
- <link rel="stylesheet" crossorigin href="/assets/index-DsdHICGY.css">
30
+ <script type="module" crossorigin src="/assets/index-Cn8X3get.js"></script>
31
+ <link rel="stylesheet" crossorigin href="/assets/index-BEsTmfrO.css">
32
32
  </head>
33
33
  <body>
34
34
  <div id="root"></div>
package/web/dist/sw.js CHANGED
@@ -7,7 +7,7 @@
7
7
  // generation must be able to resolve its lazy-loaded hashed chunks, and
8
8
  // storage growth is bounded by Hive's release cadence.
9
9
 
10
- const VERSION = '1.4.0'
10
+ const VERSION = '1.4.3'
11
11
  const SHELL_CACHE = `hive-cache-v${VERSION}-shell`
12
12
  const ASSETS_CACHE = `hive-cache-v${VERSION}-assets`
13
13
  const STATIC_CACHE = `hive-cache-v${VERSION}-static`
@@ -1,75 +0,0 @@
1
- import{c as ye,u as Q,j as o,r as R,y as br,z as yr,k as Un,m as Gn,O as qn,n as Yn,o as Zn,q as Xn,v as Tr,X as wr,A as Sr,C as $t,e as Ft,h as Ar,B as _r,F as Er,G as vr,H as Rr,a as Nr}from"./index-7NLKrr1z.js";const Cr=[["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M15 10H9",key:"o6yqo3"}],["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],Ir=ye("bookmark-plus",Cr);const Or=[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],Lr=ye("bookmark",Or);const jr=[["rect",{width:"12",height:"12",x:"2",y:"10",rx:"2",ry:"2",key:"6agr2n"}],["path",{d:"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",key:"1o487t"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 14h.01",key:"ssrbsk"}],["path",{d:"M15 6h.01",key:"cblpky"}],["path",{d:"M18 9h.01",key:"2061c0"}]],Dr=ye("dices",jr);const Mr=[["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"}]],zr=ye("external-link",Mr);const Pr=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Vn=ye("search",Pr);const $r=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],Fr=ye("square-terminal",$r);const Br=[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]],Wr=ye("store",Br),Hr={academic:{en:"Academic",zh:"学术"},design:{en:"Design",zh:"设计"},engineering:{en:"Engineering",zh:"工程"},finance:{en:"Finance",zh:"金融"},"game-development":{en:"Game Development",zh:"游戏开发"},hr:{en:"HR",zh:"人力资源"},integrations:{en:"System Integrations",zh:"系统集成"},legal:{en:"Legal",zh:"法务"},marketing:{en:"Marketing",zh:"营销"},misc:{en:"Misc",zh:"其他"},"paid-media":{en:"Paid Ads",zh:"广告投放"},product:{en:"Product",zh:"产品"},"project-management":{en:"Project Management",zh:"项目管理"},sales:{en:"Sales",zh:"销售"},"spatial-computing":{en:"Spatial Computing",zh:"空间计算"},specialized:{en:"Industry Verticals",zh:"行业角色"},"supply-chain":{en:"Supply Chain",zh:"供应链"},support:{en:"Support",zh:"客户支持"},testing:{en:"Testing",zh:"测试"}},Ur=t=>t.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase()),Gr=(t,e)=>{const n=Hr[t];return n?n[e]:Ur(t)},qr=["engineering","testing","product","design","project-management","integrations","specialized","marketing","paid-media","sales","finance","legal","hr","supply-chain","support","academic","game-development","spatial-computing","misc"],Yr=(t,e)=>{if(e!=="zh")return t;const n=new Map(qr.map((r,s)=>[r,s]));return[...t].sort((r,s)=>{const a=n.get(r)??Number.POSITIVE_INFINITY,l=n.get(s)??Number.POSITIVE_INFINITY;return a!==l?a-l:r.localeCompare(s)})},Zr=t=>t?"color-mix(in oklab, var(--accent) 14%, var(--bg-2))":"var(--bg-2)",Xr=t=>t?"var(--accent)":"var(--border-bright)",Vr=({agent:t,selected:e,imported:n,onSelect:r})=>{const{t:s}=Q(),a=t.vibe?.trim()?t.vibe:t.description,l=s("marketplace.importedBadge"),c=t.displayName??t.name,p=t.nameOverflows?c:void 0;return o.jsxs("button",{type:"button",onClick:r,"data-testid":"marketplace-agent-card","data-agent-path":t.path,"data-imported":n?"true":void 0,"data-selected":e?"true":void 0,className:"marketplace-card flex w-full cursor-pointer flex-col gap-1.5 rounded-md border px-3 py-2.5 text-left outline-none transition-[background,border-color,transform] duration-100 ease-out focus-visible:ring-2 focus-visible:ring-offset-0 active:translate-y-px",style:{background:Zr(e),borderColor:Xr(e),"--tw-ring-color":"color-mix(in oklab, var(--accent) 55%, transparent)"},children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t.emoji?o.jsx("span",{className:"text-base leading-none",children:t.emoji}):null,o.jsx("span",{className:"truncate text-sm font-semibold text-pri",title:p,children:c})]}),n?o.jsx("span",{role:"img","aria-label":l,title:l,"data-testid":"marketplace-agent-imported",className:"flex shrink-0 items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wider",style:{background:e?"var(--accent)":"color-mix(in oklab, var(--accent) 28%, transparent)",color:e?"#ffffff":"color-mix(in oklab, var(--accent) 60%, white)"},children:o.jsx(Lr,{size:10,"aria-hidden":!0})}):null]}),o.jsx("p",{className:"line-clamp-1 text-xs leading-snug text-sec",children:a})]})};function Tn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function Qr(t){if(Array.isArray(t))return t}function Kr(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var r,s,a,l,c=[],p=!0,u=!1;try{if(a=(n=n.call(t)).next,e!==0)for(;!(p=(r=a.call(n)).done)&&(c.push(r.value),c.length!==e);p=!0);}catch(h){u=!0,s=h}finally{try{if(!p&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw s}}return c}}function Jr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function es(t,e){return Qr(t)||Kr(t,e)||ts(t,e)||Jr()}function ts(t,e){if(t){if(typeof t=="string")return Tn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tn(t,e):void 0}}const Qn=Object.entries,wn=Object.setPrototypeOf,ns=Object.isFrozen,rs=Object.getPrototypeOf,ss=Object.getOwnPropertyDescriptor;let q=Object.freeze,V=Object.seal,Le=Object.create,Kn=typeof Reflect<"u"&&Reflect,jt=Kn.apply,Dt=Kn.construct;q||(q=function(e){return e});V||(V=function(e){return e});jt||(jt=function(e,n){for(var r=arguments.length,s=new Array(r>2?r-2:0),a=2;a<r;a++)s[a-2]=arguments[a];return e.apply(n,s)});Dt||(Dt=function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];return new e(...r)});const Re=D(Array.prototype.forEach),as=D(Array.prototype.lastIndexOf),Sn=D(Array.prototype.pop),Ne=D(Array.prototype.push),is=D(Array.prototype.splice),G=Array.isArray,He=D(String.prototype.toLowerCase),Nt=D(String.prototype.toString),An=D(String.prototype.match),Ce=D(String.prototype.replace),_n=D(String.prototype.indexOf),ls=D(String.prototype.trim),os=D(Number.prototype.toString),cs=D(Boolean.prototype.toString),En=typeof BigInt>"u"?null:D(BigInt.prototype.toString),vn=typeof Symbol>"u"?null:D(Symbol.prototype.toString),I=D(Object.prototype.hasOwnProperty),Be=D(Object.prototype.toString),W=D(RegExp.prototype.test),nt=us(TypeError);function D(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];return jt(t,e,r)}}function us(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Dt(t,n)}}function y(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:He;if(wn&&wn(t,null),!G(e))return t;let r=e.length;for(;r--;){let s=e[r];if(typeof s=="string"){const a=n(s);a!==s&&(ns(e)||(e[r]=a),s=a)}t[s]=!0}return t}function ps(t){for(let e=0;e<t.length;e++)I(t,e)||(t[e]=null);return t}function Z(t){const e=Le(null);for(const r of Qn(t)){var n=es(r,2);const s=n[0],a=n[1];I(t,s)&&(G(a)?e[s]=ps(a):a&&typeof a=="object"&&a.constructor===Object?e[s]=Z(a):e[s]=a)}return e}function ds(t){switch(typeof t){case"string":return t;case"number":return os(t);case"boolean":return cs(t);case"bigint":return En?En(t):"0";case"symbol":return vn?vn(t):"Symbol()";case"undefined":return Be(t);case"function":case"object":{if(t===null)return Be(t);const e=t,n=xe(e,"toString");if(typeof n=="function"){const r=n(e);return typeof r=="string"?r:Be(r)}return Be(t)}default:return Be(t)}}function xe(t,e){for(;t!==null;){const r=ss(t,e);if(r){if(r.get)return D(r.get);if(typeof r.value=="function")return D(r.value)}t=rs(t)}function n(){return null}return n}function hs(t){try{return W(t,""),!0}catch{return!1}}const Rn=q(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ct=q(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),It=q(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),fs=q(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ot=q(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ms=q(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Nn=q(["#text"]),Cn=q(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Lt=q(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),In=q(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),rt=q(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),gs=V(/{{[\w\W]*|^[\w\W]*}}/g),xs=V(/<%[\w\W]*|^[\w\W]*%>/g),ks=V(/\${[\w\W]*/g),bs=V(/^data-[\-\w.\u00B7-\uFFFF]+$/),ys=V(/^aria-[\-\w]+$/),On=V(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ts=V(/^(?:\w+script|data):/i),ws=V(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ss=V(/^html$/i),As=V(/^[a-z][.\w]*(-[.\w]+)+$/i),Ie={element:1,text:3,progressingInstruction:7,comment:8,document:9},_s=function(){return typeof window>"u"?null:window},Es=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";n&&n.hasAttribute(s)&&(r=n.getAttribute(s));const a="dompurify"+(r?"#"+r:"");try{return e.createPolicy(a,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},Ln=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Jn(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_s();const e=g=>Jn(g);if(e.version="3.4.5",e.removed=[],!t||!t.document||t.document.nodeType!==Ie.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const r=n,s=r.currentScript,a=t.DocumentFragment,l=t.HTMLTemplateElement,c=t.Node,p=t.Element,u=t.NodeFilter,h=t.NamedNodeMap,f=h===void 0?t.NamedNodeMap||t.MozNamedAttrMap:h,k=t.HTMLFormElement,S=t.DOMParser,b=t.trustedTypes,x=p.prototype,v=xe(x,"cloneNode"),A=xe(x,"remove"),K=xe(x,"nextSibling"),se=xe(x,"childNodes"),J=xe(x,"parentNode"),ee=c&&c.prototype?xe(c.prototype,"nodeType"):null;if(typeof l=="function"){const g=n.createElement("template");g.content&&g.content.ownerDocument&&(n=g.content.ownerDocument)}let C,X="";const T=n,_=T.implementation,Me=T.createNodeIterator,pt=T.createDocumentFragment,qe=T.getElementsByTagName,dt=r.importNode;let F=Ln();e.isSupported=typeof Qn=="function"&&typeof J=="function"&&_&&_.createHTMLDocument!==void 0;const we=gs,Se=xs,fe=ks,Ye=bs,ht=ys,ft=Ts,H=ws,Ze=As;let Vt=On,P=null;const Qt=y({},[...Rn,...Ct,...It,...Ot,...Nn]);let B=null;const Kt=y({},[...Cn,...Lt,...In,...rt]);let O=Object.seal(Le(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ze=null,Xe=null;const ue=Object.seal(Le(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Jt=!0,mt=!0,en=!1,tn=!0,pe=!1,Pe=!0,me=!1,gt=!1,xt=!1,Ae=!1,Ve=!1,Qe=!1,nn=!0,rn=!1;const sn="user-content-";let kt=!0,$e=!1,_e={},ae=null;const bt=y({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let an=null;const ln=y({},["audio","video","img","source","image","track"]);let yt=null;const on=y({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ke="http://www.w3.org/1998/Math/MathML",Je="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml";let Ee=ie,Tt=!1,wt=null;const dr=y({},[Ke,Je,ie],Nt);let St=y({},["mi","mo","mn","ms","mtext"]),At=y({},["annotation-xml"]);const hr=y({},["title","style","font","a","script"]);let Fe=null;const fr=["application/xhtml+xml","text/html"],mr="text/html";let z=null,ve=null;const gr=n.createElement("form"),cn=function(i){return i instanceof RegExp||i instanceof Function},_t=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ve&&ve===i)return;(!i||typeof i!="object")&&(i={}),i=Z(i),Fe=fr.indexOf(i.PARSER_MEDIA_TYPE)===-1?mr:i.PARSER_MEDIA_TYPE,z=Fe==="application/xhtml+xml"?Nt:He,P=I(i,"ALLOWED_TAGS")&&G(i.ALLOWED_TAGS)?y({},i.ALLOWED_TAGS,z):Qt,B=I(i,"ALLOWED_ATTR")&&G(i.ALLOWED_ATTR)?y({},i.ALLOWED_ATTR,z):Kt,wt=I(i,"ALLOWED_NAMESPACES")&&G(i.ALLOWED_NAMESPACES)?y({},i.ALLOWED_NAMESPACES,Nt):dr,yt=I(i,"ADD_URI_SAFE_ATTR")&&G(i.ADD_URI_SAFE_ATTR)?y(Z(on),i.ADD_URI_SAFE_ATTR,z):on,an=I(i,"ADD_DATA_URI_TAGS")&&G(i.ADD_DATA_URI_TAGS)?y(Z(ln),i.ADD_DATA_URI_TAGS,z):ln,ae=I(i,"FORBID_CONTENTS")&&G(i.FORBID_CONTENTS)?y({},i.FORBID_CONTENTS,z):bt,ze=I(i,"FORBID_TAGS")&&G(i.FORBID_TAGS)?y({},i.FORBID_TAGS,z):Z({}),Xe=I(i,"FORBID_ATTR")&&G(i.FORBID_ATTR)?y({},i.FORBID_ATTR,z):Z({}),_e=I(i,"USE_PROFILES")?i.USE_PROFILES&&typeof i.USE_PROFILES=="object"?Z(i.USE_PROFILES):i.USE_PROFILES:!1,Jt=i.ALLOW_ARIA_ATTR!==!1,mt=i.ALLOW_DATA_ATTR!==!1,en=i.ALLOW_UNKNOWN_PROTOCOLS||!1,tn=i.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pe=i.SAFE_FOR_TEMPLATES||!1,Pe=i.SAFE_FOR_XML!==!1,me=i.WHOLE_DOCUMENT||!1,Ae=i.RETURN_DOM||!1,Ve=i.RETURN_DOM_FRAGMENT||!1,Qe=i.RETURN_TRUSTED_TYPE||!1,xt=i.FORCE_BODY||!1,nn=i.SANITIZE_DOM!==!1,rn=i.SANITIZE_NAMED_PROPS||!1,kt=i.KEEP_CONTENT!==!1,$e=i.IN_PLACE||!1,Vt=hs(i.ALLOWED_URI_REGEXP)?i.ALLOWED_URI_REGEXP:On,Ee=typeof i.NAMESPACE=="string"?i.NAMESPACE:ie,St=I(i,"MATHML_TEXT_INTEGRATION_POINTS")&&i.MATHML_TEXT_INTEGRATION_POINTS&&typeof i.MATHML_TEXT_INTEGRATION_POINTS=="object"?Z(i.MATHML_TEXT_INTEGRATION_POINTS):y({},["mi","mo","mn","ms","mtext"]),At=I(i,"HTML_INTEGRATION_POINTS")&&i.HTML_INTEGRATION_POINTS&&typeof i.HTML_INTEGRATION_POINTS=="object"?Z(i.HTML_INTEGRATION_POINTS):y({},["annotation-xml"]);const d=I(i,"CUSTOM_ELEMENT_HANDLING")&&i.CUSTOM_ELEMENT_HANDLING&&typeof i.CUSTOM_ELEMENT_HANDLING=="object"?Z(i.CUSTOM_ELEMENT_HANDLING):Le(null);if(O=Le(null),I(d,"tagNameCheck")&&cn(d.tagNameCheck)&&(O.tagNameCheck=d.tagNameCheck),I(d,"attributeNameCheck")&&cn(d.attributeNameCheck)&&(O.attributeNameCheck=d.attributeNameCheck),I(d,"allowCustomizedBuiltInElements")&&typeof d.allowCustomizedBuiltInElements=="boolean"&&(O.allowCustomizedBuiltInElements=d.allowCustomizedBuiltInElements),pe&&(mt=!1),Ve&&(Ae=!0),_e&&(P=y({},Nn),B=Le(null),_e.html===!0&&(y(P,Rn),y(B,Cn)),_e.svg===!0&&(y(P,Ct),y(B,Lt),y(B,rt)),_e.svgFilters===!0&&(y(P,It),y(B,Lt),y(B,rt)),_e.mathMl===!0&&(y(P,Ot),y(B,In),y(B,rt))),ue.tagCheck=null,ue.attributeCheck=null,I(i,"ADD_TAGS")&&(typeof i.ADD_TAGS=="function"?ue.tagCheck=i.ADD_TAGS:G(i.ADD_TAGS)&&(P===Qt&&(P=Z(P)),y(P,i.ADD_TAGS,z))),I(i,"ADD_ATTR")&&(typeof i.ADD_ATTR=="function"?ue.attributeCheck=i.ADD_ATTR:G(i.ADD_ATTR)&&(B===Kt&&(B=Z(B)),y(B,i.ADD_ATTR,z))),I(i,"ADD_URI_SAFE_ATTR")&&G(i.ADD_URI_SAFE_ATTR)&&y(yt,i.ADD_URI_SAFE_ATTR,z),I(i,"FORBID_CONTENTS")&&G(i.FORBID_CONTENTS)&&(ae===bt&&(ae=Z(ae)),y(ae,i.FORBID_CONTENTS,z)),I(i,"ADD_FORBID_CONTENTS")&&G(i.ADD_FORBID_CONTENTS)&&(ae===bt&&(ae=Z(ae)),y(ae,i.ADD_FORBID_CONTENTS,z)),kt&&(P["#text"]=!0),me&&y(P,["html","head","body"]),P.table&&(y(P,["tbody"]),delete ze.tbody),i.TRUSTED_TYPES_POLICY){if(typeof i.TRUSTED_TYPES_POLICY.createHTML!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof i.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=i.TRUSTED_TYPES_POLICY,X=C.createHTML("")}else C===void 0&&(C=Es(b,s)),C!==null&&typeof X=="string"&&(X=C.createHTML(""));q&&q(i),ve=i},un=y({},[...Ct,...It,...fs]),pn=y({},[...Ot,...ms]),xr=function(i){let d=J(i);(!d||!d.tagName)&&(d={namespaceURI:Ee,tagName:"template"});const m=He(i.tagName),w=He(d.tagName);return wt[i.namespaceURI]?i.namespaceURI===Je?d.namespaceURI===ie?m==="svg":d.namespaceURI===Ke?m==="svg"&&(w==="annotation-xml"||St[w]):!!un[m]:i.namespaceURI===Ke?d.namespaceURI===ie?m==="math":d.namespaceURI===Je?m==="math"&&At[w]:!!pn[m]:i.namespaceURI===ie?d.namespaceURI===Je&&!At[w]||d.namespaceURI===Ke&&!St[w]?!1:!pn[m]&&(hr[m]||!un[m]):!!(Fe==="application/xhtml+xml"&&wt[i.namespaceURI]):!1},te=function(i){Ne(e.removed,{element:i});try{J(i).removeChild(i)}catch{A(i)}},ge=function(i,d){try{Ne(e.removed,{attribute:d.getAttributeNode(i),from:d})}catch{Ne(e.removed,{attribute:null,from:d})}if(d.removeAttribute(i),i==="is")if(Ae||Ve)try{te(d)}catch{}else try{d.setAttribute(i,"")}catch{}},dn=function(i){let d=null,m=null;if(xt)i="<remove></remove>"+i;else{const j=An(i,/^[\r\n\t ]+/);m=j&&j[0]}Fe==="application/xhtml+xml"&&Ee===ie&&(i='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+i+"</body></html>");const w=C?C.createHTML(i):i;if(Ee===ie)try{d=new S().parseFromString(w,Fe)}catch{}if(!d||!d.documentElement){d=_.createDocument(Ee,"template",null);try{d.documentElement.innerHTML=Tt?X:w}catch{}}const L=d.body||d.documentElement;return i&&m&&L.insertBefore(n.createTextNode(m),L.childNodes[0]||null),Ee===ie?qe.call(d,me?"html":"body")[0]:me?d.documentElement:L},hn=function(i){return Me.call(i.ownerDocument||i,i,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},fn=function(i){i.normalize();const d=Me.call(i.ownerDocument||i,i,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let m=d.nextNode();for(;m;){let w=m.data;Re([we,Se,fe],L=>{w=Ce(w,L," ")}),m.data=w,m=d.nextNode()}},Et=function(i){return i instanceof k&&(typeof i.nodeName!="string"||typeof i.textContent!="string"||typeof i.removeChild!="function"||!(i.attributes instanceof f)||typeof i.removeAttribute!="function"||typeof i.setAttribute!="function"||typeof i.namespaceURI!="string"||typeof i.insertBefore!="function"||typeof i.hasChildNodes!="function")},et=function(i){if(!ee||typeof i!="object"||i===null)return!1;try{return typeof ee(i)=="number"}catch{return!1}};function oe(g,i,d){Re(g,m=>{m.call(e,i,d,ve)})}const mn=function(i){let d=null;if(oe(F.beforeSanitizeElements,i,null),Et(i))return te(i),!0;const m=z(i.nodeName);if(oe(F.uponSanitizeElement,i,{tagName:m,allowedTags:P}),Pe&&i.hasChildNodes()&&!et(i.firstElementChild)&&W(/<[/\w!]/g,i.innerHTML)&&W(/<[/\w!]/g,i.textContent)||Pe&&i.namespaceURI===ie&&m==="style"&&et(i.firstElementChild)||i.nodeType===Ie.progressingInstruction||Pe&&i.nodeType===Ie.comment&&W(/<[/\w]/g,i.data))return te(i),!0;if(ze[m]||!(ue.tagCheck instanceof Function&&ue.tagCheck(m))&&!P[m]){if(!ze[m]&&xn(m)&&(O.tagNameCheck instanceof RegExp&&W(O.tagNameCheck,m)||O.tagNameCheck instanceof Function&&O.tagNameCheck(m)))return!1;if(kt&&!ae[m]){const w=J(i)||i.parentNode,L=se(i)||i.childNodes;if(L&&w){const j=L.length;for(let Y=j-1;Y>=0;--Y){const de=v(L[Y],!0);w.insertBefore(de,K(i))}}}return te(i),!0}return i instanceof p&&!xr(i)||(m==="noscript"||m==="noembed"||m==="noframes")&&W(/<\/no(script|embed|frames)/i,i.innerHTML)?(te(i),!0):(pe&&i.nodeType===Ie.text&&(d=i.textContent,Re([we,Se,fe],w=>{d=Ce(d,w," ")}),i.textContent!==d&&(Ne(e.removed,{element:i.cloneNode()}),i.textContent=d)),oe(F.afterSanitizeElements,i,null),!1)},gn=function(i,d,m){if(Xe[d]||nn&&(d==="id"||d==="name")&&(m in n||m in gr))return!1;const w=B[d]||ue.attributeCheck instanceof Function&&ue.attributeCheck(d,i);if(!(mt&&!Xe[d]&&W(Ye,d))){if(!(Jt&&W(ht,d))){if(!w||Xe[d]){if(!(xn(i)&&(O.tagNameCheck instanceof RegExp&&W(O.tagNameCheck,i)||O.tagNameCheck instanceof Function&&O.tagNameCheck(i))&&(O.attributeNameCheck instanceof RegExp&&W(O.attributeNameCheck,d)||O.attributeNameCheck instanceof Function&&O.attributeNameCheck(d,i))||d==="is"&&O.allowCustomizedBuiltInElements&&(O.tagNameCheck instanceof RegExp&&W(O.tagNameCheck,m)||O.tagNameCheck instanceof Function&&O.tagNameCheck(m))))return!1}else if(!yt[d]){if(!W(Vt,Ce(m,H,""))){if(!((d==="src"||d==="xlink:href"||d==="href")&&i!=="script"&&_n(m,"data:")===0&&an[i])){if(!(en&&!W(ft,Ce(m,H,"")))){if(m)return!1}}}}}}return!0},kr=y({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),xn=function(i){return!kr[He(i)]&&W(Ze,i)},kn=function(i){oe(F.beforeSanitizeAttributes,i,null);const d=i.attributes;if(!d||Et(i))return;const m={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:B,forceKeepAttr:void 0};let w=d.length;for(;w--;){const L=d[w],j=L.name,Y=L.namespaceURI,de=L.value,ce=z(j),Rt=de;let $=j==="value"?Rt:ls(Rt);if(m.attrName=ce,m.attrValue=$,m.keepAttr=!0,m.forceKeepAttr=void 0,oe(F.uponSanitizeAttribute,i,m),$=m.attrValue,rn&&(ce==="id"||ce==="name")&&_n($,sn)!==0&&(ge(j,i),$=sn+$),Pe&&W(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,$)){ge(j,i);continue}if(ce==="attributename"&&An($,"href")){ge(j,i);continue}if(m.forceKeepAttr)continue;if(!m.keepAttr){ge(j,i);continue}if(!tn&&W(/\/>/i,$)){ge(j,i);continue}pe&&Re([we,Se,fe],yn=>{$=Ce($,yn," ")});const bn=z(i.nodeName);if(!gn(bn,ce,$)){ge(j,i);continue}if(C&&typeof b=="object"&&typeof b.getAttributeType=="function"&&!Y)switch(b.getAttributeType(bn,ce)){case"TrustedHTML":{$=C.createHTML($);break}case"TrustedScriptURL":{$=C.createScriptURL($);break}}if($!==Rt)try{Y?i.setAttributeNS(Y,j,$):i.setAttribute(j,$),Et(i)?te(i):Sn(e.removed)}catch{ge(j,i)}}oe(F.afterSanitizeAttributes,i,null)},vt=function(i){let d=null;const m=hn(i);for(oe(F.beforeSanitizeShadowDOM,i,null);d=m.nextNode();)oe(F.uponSanitizeShadowNode,d,null),mn(d),kn(d),d.content instanceof a&&vt(d.content);oe(F.afterSanitizeShadowDOM,i,null)},tt=function(i){if(i.nodeType===Ie.element&&i.shadowRoot instanceof a){const w=i.shadowRoot;tt(w),vt(w)}const d=i.childNodes;if(!d)return;const m=[];Re(d,w=>{Ne(m,w)});for(const w of m)tt(w)};return e.sanitize=function(g){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=null,m=null,w=null,L=null;if(Tt=!g,Tt&&(g="<!-->"),typeof g!="string"&&!et(g)&&(g=ds(g),typeof g!="string"))throw nt("dirty is not a string, aborting");if(!e.isSupported)return g;if(gt||_t(i),e.removed=[],typeof g=="string"&&($e=!1),$e){const de=g.nodeName;if(typeof de=="string"){const ce=z(de);if(!P[ce]||ze[ce])throw nt("root node is forbidden and cannot be sanitized in-place")}tt(g)}else if(et(g))d=dn("<!---->"),m=d.ownerDocument.importNode(g,!0),m.nodeType===Ie.element&&m.nodeName==="BODY"||m.nodeName==="HTML"?d=m:d.appendChild(m),tt(m);else{if(!Ae&&!pe&&!me&&g.indexOf("<")===-1)return C&&Qe?C.createHTML(g):g;if(d=dn(g),!d)return Ae?null:Qe?X:""}d&&xt&&te(d.firstChild);const j=hn($e?g:d);for(;w=j.nextNode();)mn(w),kn(w),w.content instanceof a&&vt(w.content);if($e)return pe&&fn(g),g;if(Ae){if(pe&&fn(d),Ve)for(L=pt.call(d.ownerDocument);d.firstChild;)L.appendChild(d.firstChild);else L=d;return(B.shadowroot||B.shadowrootmode)&&(L=dt.call(r,L,!0)),L}let Y=me?d.outerHTML:d.innerHTML;return me&&P["!doctype"]&&d.ownerDocument&&d.ownerDocument.doctype&&d.ownerDocument.doctype.name&&W(Ss,d.ownerDocument.doctype.name)&&(Y="<!DOCTYPE "+d.ownerDocument.doctype.name+`>
3
- `+Y),pe&&Re([we,Se,fe],de=>{Y=Ce(Y,de," ")}),C&&Qe?C.createHTML(Y):Y},e.setConfig=function(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};_t(g),gt=!0},e.clearConfig=function(){ve=null,gt=!1},e.isValidAttribute=function(g,i,d){ve||_t({});const m=z(g),w=z(i);return gn(m,w,d)},e.addHook=function(g,i){typeof i=="function"&&Ne(F[g],i)},e.removeHook=function(g,i){if(i!==void 0){const d=as(F[g],i);return d===-1?void 0:is(F[g],d,1)[0]}return Sn(F[g])},e.removeHooks=function(g){F[g]=[]},e.removeAllHooks=function(){F=Ln()},e}var M=Jn(),vs=M;M.sanitize.bind(M);M.isSupported;M.addHook.bind(M);M.removeHook.bind(M);M.removeHooks.bind(M);M.removeAllHooks.bind(M);M.setConfig.bind(M);M.clearConfig.bind(M);M.isValidAttribute.bind(M);M.version;M.removed;function Bt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Te=Bt();function er(t){Te=t}var ke={exec:()=>null};function Oe(t){let e=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),s=e[r];return s||(s=t(r),e[r]=s),s}}function E(t,e=""){let n=typeof t=="string"?t:t.source,r={replace:(s,a)=>{let l=typeof a=="string"?a:a.source;return l=l.replace(U.caret,"$1"),n=n.replace(s,l),r},getRegex:()=>new RegExp(n,e)};return r}var Rs=((t="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+t)}catch{return!1}})(),U={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Oe(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Oe(t=>new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Oe(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:Oe(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:Oe(t=>new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Oe(t=>new RegExp(`^ {0,${t}}>`))},Ns=/^(?:[ \t]*(?:\n|$))+/,Cs=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Is=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ge=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Os=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Wt=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,tr=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,nr=E(tr).replace(/bull/g,Wt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Ls=E(tr).replace(/bull/g,Wt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Ht=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,js=/^[^\n]+/,Ut=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ds=E(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ut).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ms=E(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Wt).getRegex(),ct="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Gt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,zs=E("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Gt).replace("tag",ct).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),rr=E(Ht).replace("hr",Ge).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex(),Ps=E(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",rr).getRegex(),qt={blockquote:Ps,code:Cs,def:Ds,fences:Is,heading:Os,hr:Ge,html:zs,lheading:nr,list:Ms,newline:Ns,paragraph:rr,table:ke,text:js},jn=E("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ge).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex(),$s={...qt,lheading:Ls,table:jn,paragraph:E(Ht).replace("hr",Ge).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",jn).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex()},Fs={...qt,html:E(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Gt).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ke,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:E(Ht).replace("hr",Ge).replace("heading",` *#{1,6} *[^
4
- ]`).replace("lheading",nr).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Bs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Ws=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,sr=/^( {2,}|\\)\n(?!\s*$)/,Hs=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,je=/[\p{P}\p{S}]/u,ut=/[\s\p{P}\p{S}]/u,Yt=/[^\s\p{P}\p{S}]/u,Us=E(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,ut).getRegex(),ar=/(?!~)[\p{P}\p{S}]/u,Gs=/(?!~)[\s\p{P}\p{S}]/u,qs=/(?:[^\s\p{P}\p{S}]|~)/u,Ys=E(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Rs?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ir=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Zs=E(ir,"u").replace(/punct/g,je).getRegex(),Xs=E(ir,"u").replace(/punct/g,ar).getRegex(),lr="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Vs=E(lr,"gu").replace(/notPunctSpace/g,Yt).replace(/punctSpace/g,ut).replace(/punct/g,je).getRegex(),Qs=E(lr,"gu").replace(/notPunctSpace/g,qs).replace(/punctSpace/g,Gs).replace(/punct/g,ar).getRegex(),Ks=E("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Yt).replace(/punctSpace/g,ut).replace(/punct/g,je).getRegex(),Js=E(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,je).getRegex(),ea="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",ta=E(ea,"gu").replace(/notPunctSpace/g,Yt).replace(/punctSpace/g,ut).replace(/punct/g,je).getRegex(),na=E(/\\(punct)/,"gu").replace(/punct/g,je).getRegex(),ra=E(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),sa=E(Gt).replace("(?:-->|$)","-->").getRegex(),aa=E("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",sa).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),it=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,ia=E(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",it).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),or=E(/^!?\[(label)\]\[(ref)\]/).replace("label",it).replace("ref",Ut).getRegex(),cr=E(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ut).getRegex(),la=E("reflink|nolink(?!\\()","g").replace("reflink",or).replace("nolink",cr).getRegex(),Dn=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Zt={_backpedal:ke,anyPunctuation:na,autolink:ra,blockSkip:Ys,br:sr,code:Ws,del:ke,delLDelim:ke,delRDelim:ke,emStrongLDelim:Zs,emStrongRDelimAst:Vs,emStrongRDelimUnd:Ks,escape:Bs,link:ia,nolink:cr,punctuation:Us,reflink:or,reflinkSearch:la,tag:aa,text:Hs,url:ke},oa={...Zt,link:E(/^!?\[(label)\]\((.*?)\)/).replace("label",it).getRegex(),reflink:E(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",it).getRegex()},Mt={...Zt,emStrongRDelimAst:Qs,emStrongLDelim:Xs,delLDelim:Js,delRDelim:ta,url:E(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Dn).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:E(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Dn).getRegex()},ca={...Mt,br:E(sr).replace("{2,}","*").getRegex(),text:E(Mt.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},st={normal:qt,gfm:$s,pedantic:Fs},We={normal:Zt,gfm:Mt,breaks:ca,pedantic:oa},ua={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Mn=t=>ua[t];function le(t,e){if(e){if(U.escapeTest.test(t))return t.replace(U.escapeReplace,Mn)}else if(U.escapeTestNoEncode.test(t))return t.replace(U.escapeReplaceNoEncode,Mn);return t}function zn(t){try{t=encodeURI(t).replace(U.percentDecode,"%")}catch{return null}return t}function Pn(t,e){let n=t.replace(U.findPipe,(a,l,c)=>{let p=!1,u=l;for(;--u>=0&&c[u]==="\\";)p=!p;return p?"|":" |"}),r=n.split(U.splitPipe),s=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(U.slashPipe,"|");return r}function he(t,e,n){let r=t.length;if(r===0)return"";let s=0;for(;s<r&&t.charAt(r-s-1)===e;)s++;return t.slice(0,r-s)}function $n(t){let e=t.split(`
5
- `),n=e.length-1;for(;n>=0&&U.blankLine.test(e[n]);)n--;return e.length-n<=2?t:e.slice(0,n+1).join(`
6
- `)}function pa(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let r=0;r<t.length;r++)if(t[r]==="\\")r++;else if(t[r]===e[0])n++;else if(t[r]===e[1]&&(n--,n<0))return r;return n>0?-2:-1}function da(t,e=0){let n=e,r="";for(let s of t)if(s===" "){let a=4-n%4;r+=" ".repeat(a),n+=a}else r+=s,n++;return r}function Fn(t,e,n,r,s){let a=e.href,l=e.title||null,c=t[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let p={type:t[0].charAt(0)==="!"?"image":"link",raw:n,href:a,title:l,text:c,tokens:r.inlineTokens(c)};return r.state.inLink=!1,p}function ha(t,e,n){let r=t.match(n.other.indentCodeCompensation);if(r===null)return e;let s=r[1];return e.split(`
7
- `).map(a=>{let l=a.match(n.other.beginningSpace);if(l===null)return a;let[c]=l;return c.length>=s.length?a.slice(s.length):a}).join(`
8
- `)}var lt=class{options;rules;lexer;constructor(t){this.options=t||Te}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:$n(e[0]),r=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:r}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],r=ha(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let r=he(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:he(e[0],`
9
- `),depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:he(e[0],`
10
- `)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=he(e[0],`
11
- `).split(`
12
- `),r="",s="",a=[];for(;n.length>0;){let l=!1,c=[],p;for(p=0;p<n.length;p++)if(this.rules.other.blockquoteStart.test(n[p]))c.push(n[p]),l=!0;else if(!l)c.push(n[p]);else break;n=n.slice(p);let u=c.join(`
13
- `),h=u.replace(this.rules.other.blockquoteSetextReplace,`
14
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
15
- ${u}`:u,s=s?`${s}
16
- ${h}`:h;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,a,!0),this.lexer.state.top=f,n.length===0)break;let k=a.at(-1);if(k?.type==="code")break;if(k?.type==="blockquote"){let S=k,b=S.raw+`
17
- `+n.join(`
18
- `),x=this.blockquote(b);a[a.length-1]=x,r=r.substring(0,r.length-S.raw.length)+x.raw,s=s.substring(0,s.length-S.text.length)+x.text;break}else if(k?.type==="list"){let S=k,b=S.raw+`
19
- `+n.join(`
20
- `),x=this.list(b);a[a.length-1]=x,r=r.substring(0,r.length-k.raw.length)+x.raw,s=s.substring(0,s.length-S.raw.length)+x.raw,n=b.substring(a.at(-1).raw.length).split(`
21
- `);continue}}return{type:"blockquote",raw:r,tokens:a,text:s}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),r=n.length>1,s={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let a=this.rules.other.listItemRegex(n),l=!1;for(;t;){let p=!1,u="",h="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;u=e[0],t=t.substring(u.length);let f=da(e[2].split(`
22
- `,1)[0],e[1].length),k=t.split(`
23
- `,1)[0],S=!f.trim(),b=0;if(this.options.pedantic?(b=2,h=f.trimStart()):S?b=e[1].length+1:(b=f.search(this.rules.other.nonSpaceChar),b=b>4?1:b,h=f.slice(b),b+=e[1].length),S&&this.rules.other.blankLine.test(k)&&(u+=k+`
24
- `,t=t.substring(k.length+1),p=!0),!p){let x=this.rules.other.nextBulletRegex(b),v=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),K=this.rules.other.headingBeginRegex(b),se=this.rules.other.htmlBeginRegex(b),J=this.rules.other.blockquoteBeginRegex(b);for(;t;){let ee=t.split(`
25
- `,1)[0],C;if(k=ee,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting," "),C=k):C=k.replace(this.rules.other.tabCharGlobal," "),A.test(k)||K.test(k)||se.test(k)||J.test(k)||x.test(k)||v.test(k))break;if(C.search(this.rules.other.nonSpaceChar)>=b||!k.trim())h+=`
26
- `+C.slice(b);else{if(S||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(f)||K.test(f)||v.test(f))break;h+=`
27
- `+k}S=!k.trim(),u+=ee+`
28
- `,t=t.substring(ee.length+1),f=C.slice(b)}}s.loose||(l?s.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(l=!0)),s.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),s.raw+=u}let c=s.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let p of s.items){this.lexer.state.top=!1,p.tokens=this.lexer.blockTokens(p.text,[]);let u=p.tokens[0];if(p.task&&(u?.type==="text"||u?.type==="paragraph")){p.text=p.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let h=this.rules.other.listTaskCheckbox.exec(p.raw);if(h){let f={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};p.checked=f.checked,s.loose?p.tokens[0]&&["paragraph","text"].includes(p.tokens[0].type)&&"tokens"in p.tokens[0]&&p.tokens[0].tokens?(p.tokens[0].raw=f.raw+p.tokens[0].raw,p.tokens[0].text=f.raw+p.tokens[0].text,p.tokens[0].tokens.unshift(f)):p.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):p.tokens.unshift(f)}}else p.task&&(p.task=!1);if(!s.loose){let h=p.tokens.filter(k=>k.type==="space"),f=h.length>0&&h.some(k=>this.rules.other.anyLine.test(k.raw));s.loose=f}}if(s.loose)for(let p of s.items){p.loose=!0;for(let u of p.tokens)u.type==="text"&&(u.type="paragraph")}return s}}html(t){let e=this.rules.block.html.exec(t);if(e){let n=$n(e[0]);return{type:"html",block:!0,raw:n,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:n}}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:he(e[0],`
29
- `),href:r,title:s}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let n=Pn(e[1]),r=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
30
- `):[],a={type:"table",raw:he(e[0],`
31
- `),header:[],align:[],rows:[]};if(n.length===r.length){for(let l of r)this.rules.other.tableAlignRight.test(l)?a.align.push("right"):this.rules.other.tableAlignCenter.test(l)?a.align.push("center"):this.rules.other.tableAlignLeft.test(l)?a.align.push("left"):a.align.push(null);for(let l=0;l<n.length;l++)a.header.push({text:n[l],tokens:this.lexer.inline(n[l]),header:!0,align:a.align[l]});for(let l of s)a.rows.push(Pn(l,a.header.length).map((c,p)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:a.align[p]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e){let n=e[1].trim();return{type:"heading",raw:he(e[0],`
32
- `),depth:e[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
33
- `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let a=he(n.slice(0,-1),"\\");if((n.length-a.length)%2===0)return}else{let a=pa(e[2],"()");if(a===-2)return;if(a>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let r=e[2],s="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(r);a&&(r=a[1],s=a[3])}else s=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),Fn(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=e[r.toLowerCase()];if(!s){let a=n[0].charAt(0);return{type:"text",raw:a,text:a}}return Fn(n,s,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let r=this.rules.inline.emStrongLDelim.exec(t);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let s=[...r[0]].length-1,a,l,c=s,p=0,u=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+s);(r=u.exec(e))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(l=[...a].length,r[3]||r[4]){c+=l;continue}else if((r[5]||r[6])&&s%3&&!((s+l)%3)){p+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+p);let h=[...r[0]][0].length,f=t.slice(0,s+r.index+h+l);if(Math.min(s,l)%2){let S=f.slice(1,-1);return{type:"em",raw:f,text:S,tokens:this.lexer.inlineTokens(S)}}let k=f.slice(2,-2);return{type:"strong",raw:f,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),s=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&s&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t,e,n=""){let r=this.rules.inline.delLDelim.exec(t);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let s=[...r[0]].length-1,a,l,c=s,p=this.rules.inline.delRDelim;for(p.lastIndex=0,e=e.slice(-1*t.length+s);(r=p.exec(e))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a||(l=[...a].length,l!==s))continue;if(r[3]||r[4]){c+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c);let u=[...r[0]][0].length,h=t.slice(0,s+r.index+u+l),f=h.slice(s,-s);return{type:"del",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,r;return e[2]==="@"?(n=e[1],r="mailto:"+n):(n=e[1],r=n),{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,r;if(e[2]==="@")n=e[0],r="mailto:"+n;else{let s;do s=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(s!==e[0]);n=e[0],e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:n}}}},ne=class zt{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Te,this.options.tokenizer=this.options.tokenizer||new lt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:U,block:st.normal,inline:We.normal};this.options.pedantic?(n.block=st.pedantic,n.inline=We.pedantic):this.options.gfm&&(n.block=st.gfm,this.options.breaks?n.inline=We.breaks:n.inline=We.gfm),this.tokenizer.rules=n}static get rules(){return{block:st,inline:We}}static lex(e,n){return new zt(n).lex(e)}static lexInline(e,n){return new zt(n).inlineTokens(e)}lex(e){e=e.replace(U.carriageReturn,`
34
- `),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let r=this.inlineQueue[n];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],r=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(U.tabCharGlobal," ").replace(U.spaceLine,""));let s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let a;if(this.options.extensions?.block?.some(c=>(a=c.call({lexer:this},e,n))?(e=e.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let c=n.at(-1);a.raw.length===1&&c!==void 0?c.raw+=`
35
- `:n.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let c=n.at(-1);c?.type==="paragraph"||c?.type==="text"?(c.raw+=(c.raw.endsWith(`
36
- `)?"":`
37
- `)+a.raw,c.text+=`
38
- `+a.text,this.inlineQueue.at(-1).src=c.text):n.push(a);continue}if(a=this.tokenizer.fences(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.heading(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.hr(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.blockquote(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.list(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.html(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length);let c=n.at(-1);c?.type==="paragraph"||c?.type==="text"?(c.raw+=(c.raw.endsWith(`
39
- `)?"":`
40
- `)+a.raw,c.text+=`
41
- `+a.raw,this.inlineQueue.at(-1).src=c.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},n.push(a));continue}if(a=this.tokenizer.table(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.lheading(e)){e=e.substring(a.raw.length),n.push(a);continue}let l=e;if(this.options.extensions?.startBlock){let c=1/0,p=e.slice(1),u;this.options.extensions.startBlock.forEach(h=>{u=h.call({lexer:this},p),typeof u=="number"&&u>=0&&(c=Math.min(c,u))}),c<1/0&&c>=0&&(l=e.substring(0,c+1))}if(this.state.top&&(a=this.tokenizer.paragraph(l))){let c=n.at(-1);r&&c?.type==="paragraph"?(c.raw+=(c.raw.endsWith(`
42
- `)?"":`
43
- `)+a.raw,c.text+=`
44
- `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=c.text):n.push(a),r=l.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let c=n.at(-1);c?.type==="text"?(c.raw+=(c.raw.endsWith(`
45
- `)?"":`
46
- `)+a.raw,c.text+=`
47
- `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=c.text):n.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}inlineTokens(e,n=[]){this.tokenizer.lexer=this;let r=e,s=null;if(this.tokens.links){let u=Object.keys(this.tokens.links);if(u.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(r))!==null;)u.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(r))!==null;)r=r.slice(0,s.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(s=this.tokenizer.rules.inline.blockSkip.exec(r))!==null;)a=s[2]?s[2].length:0,r=r.slice(0,s.index+a)+"["+"a".repeat(s[0].length-a-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let l=!1,c="",p=1/0;for(;e;){if(e.length<p)p=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}l||(c=""),l=!1;let u;if(this.options.extensions?.inline?.some(f=>(u=f.call({lexer:this},e,n))?(e=e.substring(u.raw.length),n.push(u),!0):!1))continue;if(u=this.tokenizer.escape(e)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.tag(e)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.link(e)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(u.raw.length);let f=n.at(-1);u.type==="text"&&f?.type==="text"?(f.raw+=u.raw,f.text+=u.text):n.push(u);continue}if(u=this.tokenizer.emStrong(e,r,c)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.codespan(e)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.br(e)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.del(e,r,c)){e=e.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.autolink(e)){e=e.substring(u.raw.length),n.push(u);continue}if(!this.state.inLink&&(u=this.tokenizer.url(e))){e=e.substring(u.raw.length),n.push(u);continue}let h=e;if(this.options.extensions?.startInline){let f=1/0,k=e.slice(1),S;this.options.extensions.startInline.forEach(b=>{S=b.call({lexer:this},k),typeof S=="number"&&S>=0&&(f=Math.min(f,S))}),f<1/0&&f>=0&&(h=e.substring(0,f+1))}if(u=this.tokenizer.inlineText(h)){e=e.substring(u.raw.length),u.raw.slice(-1)!=="_"&&(c=u.raw.slice(-1)),l=!0;let f=n.at(-1);f?.type==="text"?(f.raw+=u.raw,f.text+=u.text):n.push(u);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return n}infiniteLoopError(e){let n="Infinite loop on byte: "+e;if(this.options.silent)console.error(n);else throw new Error(n)}},ot=class{options;parser;constructor(t){this.options=t||Te}space(t){return""}code({text:t,lang:e,escaped:n}){let r=(e||"").match(U.notSpaceStart)?.[0],s=t.replace(U.endingNewline,"")+`
48
- `;return r?'<pre><code class="language-'+le(r)+'">'+(n?s:le(s,!0))+`</code></pre>
49
- `:"<pre><code>"+(n?s:le(s,!0))+`</code></pre>
50
- `}blockquote({tokens:t}){return`<blockquote>
51
- ${this.parser.parse(t)}</blockquote>
52
- `}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>
53
- `}hr(t){return`<hr>
54
- `}list(t){let e=t.ordered,n=t.start,r="";for(let l=0;l<t.items.length;l++){let c=t.items[l];r+=this.listitem(c)}let s=e?"ol":"ul",a=e&&n!==1?' start="'+n+'"':"";return"<"+s+a+`>
55
- `+r+"</"+s+`>
56
- `}listitem(t){return`<li>${this.parser.parse(t.tokens)}</li>
57
- `}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
58
- `}table(t){let e="",n="";for(let s=0;s<t.header.length;s++)n+=this.tablecell(t.header[s]);e+=this.tablerow({text:n});let r="";for(let s=0;s<t.rows.length;s++){let a=t.rows[s];n="";for(let l=0;l<a.length;l++)n+=this.tablecell(a[l]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
59
- <thead>
60
- `+e+`</thead>
61
- `+r+`</table>
62
- `}tablerow({text:t}){return`<tr>
63
- ${t}</tr>
64
- `}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
65
- `}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${le(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){let r=this.parser.parseInline(n),s=zn(t);if(s===null)return r;t=s;let a='<a href="'+t+'"';return e&&(a+=' title="'+le(e)+'"'),a+=">"+r+"</a>",a}image({href:t,title:e,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let s=zn(t);if(s===null)return le(n);t=s;let a=`<img src="${t}" alt="${le(n)}"`;return e&&(a+=` title="${le(e)}"`),a+=">",a}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:le(t.text)}},Xt=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},re=class Pt{options;renderer;textRenderer;constructor(e){this.options=e||Te,this.options.renderer=this.options.renderer||new ot,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Xt}static parse(e,n){return new Pt(n).parse(e)}static parseInline(e,n){return new Pt(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let l=s,c=this.options.extensions.renderers[l.type].call({parser:this},l);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){n+=c||"";continue}}let a=s;switch(a.type){case"space":{n+=this.renderer.space(a);break}case"hr":{n+=this.renderer.hr(a);break}case"heading":{n+=this.renderer.heading(a);break}case"code":{n+=this.renderer.code(a);break}case"table":{n+=this.renderer.table(a);break}case"blockquote":{n+=this.renderer.blockquote(a);break}case"list":{n+=this.renderer.list(a);break}case"checkbox":{n+=this.renderer.checkbox(a);break}case"html":{n+=this.renderer.html(a);break}case"def":{n+=this.renderer.def(a);break}case"paragraph":{n+=this.renderer.paragraph(a);break}case"text":{n+=this.renderer.text(a);break}default:{let l='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return n}parseInline(e,n=this.renderer){this.renderer.parser=this;let r="";for(let s=0;s<e.length;s++){let a=e[s];if(this.options.extensions?.renderers?.[a.type]){let c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){r+=c||"";continue}}let l=a;switch(l.type){case"escape":{r+=n.text(l);break}case"html":{r+=n.html(l);break}case"link":{r+=n.link(l);break}case"image":{r+=n.image(l);break}case"checkbox":{r+=n.checkbox(l);break}case"strong":{r+=n.strong(l);break}case"em":{r+=n.em(l);break}case"codespan":{r+=n.codespan(l);break}case"br":{r+=n.br(l);break}case"del":{r+=n.del(l);break}case"text":{r+=n.text(l);break}default:{let c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return r}},Ue=class{options;block;constructor(t){this.options=t||Te}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?ne.lex:ne.lexInline}provideParser(t=this.block){return t?re.parse:re.parseInline}},fa=class{defaults=Bt();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=re;Renderer=ot;TextRenderer=Xt;Lexer=ne;Tokenizer=lt;Hooks=Ue;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let r of t)switch(n=n.concat(e.call(this,r)),r.type){case"table":{let s=r;for(let a of s.header)n=n.concat(this.walkTokens(a.tokens,e));for(let a of s.rows)for(let l of a)n=n.concat(this.walkTokens(l.tokens,e));break}case"list":{let s=r;n=n.concat(this.walkTokens(s.items,e));break}default:{let s=r;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(a=>{let l=s[a].flat(1/0);n=n.concat(this.walkTokens(l,e))}):s.tokens&&(n=n.concat(this.walkTokens(s.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=e.renderers[s.name];a?e.renderers[s.name]=function(...l){let c=s.renderer.apply(this,l);return c===!1&&(c=a.apply(this,l)),c}:e.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[s.level];a?a.unshift(s.tokenizer):e[s.level]=[s.tokenizer],s.start&&(s.level==="block"?e.startBlock?e.startBlock.push(s.start):e.startBlock=[s.start]:s.level==="inline"&&(e.startInline?e.startInline.push(s.start):e.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(e.childTokens[s.name]=s.childTokens)}),r.extensions=e),n.renderer){let s=this.defaults.renderer||new ot(this.defaults);for(let a in n.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let l=a,c=n.renderer[l],p=s[l];s[l]=(...u)=>{let h=c.apply(s,u);return h===!1&&(h=p.apply(s,u)),h||""}}r.renderer=s}if(n.tokenizer){let s=this.defaults.tokenizer||new lt(this.defaults);for(let a in n.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let l=a,c=n.tokenizer[l],p=s[l];s[l]=(...u)=>{let h=c.apply(s,u);return h===!1&&(h=p.apply(s,u)),h}}r.tokenizer=s}if(n.hooks){let s=this.defaults.hooks||new Ue;for(let a in n.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let l=a,c=n.hooks[l],p=s[l];Ue.passThroughHooks.has(a)?s[l]=u=>{if(this.defaults.async&&Ue.passThroughHooksRespectAsync.has(a))return(async()=>{let f=await c.call(s,u);return p.call(s,f)})();let h=c.call(s,u);return p.call(s,h)}:s[l]=(...u)=>{if(this.defaults.async)return(async()=>{let f=await c.apply(s,u);return f===!1&&(f=await p.apply(s,u)),f})();let h=c.apply(s,u);return h===!1&&(h=p.apply(s,u)),h}}r.hooks=s}if(n.walkTokens){let s=this.defaults.walkTokens,a=n.walkTokens;r.walkTokens=function(l){let c=[];return c.push(a.call(this,l)),s&&(c=c.concat(s.call(this,l))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return ne.lex(t,e??this.defaults)}parser(t,e){return re.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let r={...n},s={...this.defaults,...r},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&r.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=t),s.async)return(async()=>{let l=s.hooks?await s.hooks.preprocess(e):e,c=await(s.hooks?await s.hooks.provideLexer(t):t?ne.lex:ne.lexInline)(l,s),p=s.hooks?await s.hooks.processAllTokens(c):c;s.walkTokens&&await Promise.all(this.walkTokens(p,s.walkTokens));let u=await(s.hooks?await s.hooks.provideParser(t):t?re.parse:re.parseInline)(p,s);return s.hooks?await s.hooks.postprocess(u):u})().catch(a);try{s.hooks&&(e=s.hooks.preprocess(e));let l=(s.hooks?s.hooks.provideLexer(t):t?ne.lex:ne.lexInline)(e,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser(t):t?re.parse:re.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(l){return a(l)}}}onError(t,e){return n=>{if(n.message+=`
66
- Please report this to https://github.com/markedjs/marked.`,t){let r="<p>An error occurred:</p><pre>"+le(n.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(n);throw n}}},be=new fa;function N(t,e){return be.parse(t,e)}N.options=N.setOptions=function(t){return be.setOptions(t),N.defaults=be.defaults,er(N.defaults),N};N.getDefaults=Bt;N.defaults=Te;N.use=function(...t){return be.use(...t),N.defaults=be.defaults,er(N.defaults),N};N.walkTokens=function(t,e){return be.walkTokens(t,e)};N.parseInline=be.parseInline;N.Parser=re;N.parser=re.parse;N.Renderer=ot;N.TextRenderer=Xt;N.Lexer=ne;N.lexer=ne.lex;N.Tokenizer=lt;N.Hooks=Ue;N.parse=N;N.options;N.setOptions;N.use;N.walkTokens;N.parseInline;re.parse;ne.lex;N.setOptions({breaks:!1,gfm:!0});const ma=t=>{const e=N.parse(t,{async:!1});if(typeof e!="string")throw new Error("marked.parse returned a non-string with async:false");return vs.sanitize(e,{USE_PROFILES:{html:!0},ALLOWED_ATTR:["href","name","target","rel","title","class","id"]})},ga=({agent:t,sourceRepo:e,loadAgent:n,onImport:r})=>{const{t:s}=Q(),[a,l]=R.useState({status:"loading",detail:null,error:null});R.useEffect(()=>{let u=!1;return l({status:"loading",detail:null,error:null}),n(t.path).then(h=>{u||l({status:"loaded",detail:h,error:null})}).catch(h=>{u||l({status:"error",detail:null,error:h instanceof Error?h.message:"unknown"})}),()=>{u=!0}},[t.path,n]);const c=`https://github.com/${e}/blob/HEAD/${t.path}`,p=R.useMemo(()=>a.status!=="loaded"||!a.detail?null:ma(a.detail.body),[a]);return o.jsxs("div",{"data-testid":"marketplace-agent-preview",className:"flex h-full flex-col gap-3 border-l px-4 py-3",style:{borderColor:"var(--border)"},children:[o.jsxs("header",{className:"flex min-w-0 flex-col gap-1",children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t.emoji?o.jsx("span",{className:"shrink-0 text-lg leading-none",children:t.emoji}):null,o.jsx("h3",{className:"min-w-0 break-words text-base font-semibold text-pri",children:t.name})]}),o.jsx("p",{className:"text-xs text-ter",children:t.description})]}),o.jsxs("div",{className:"scroll-y min-h-0 flex-1 rounded px-3 py-2 text-xs leading-relaxed",style:{background:"var(--bg-2)"},children:[a.status==="loading"?o.jsx("p",{className:"text-ter",children:"…"}):null,a.status==="error"?o.jsxs("p",{className:"text-ter",children:[s("marketplace.loadFailed"),": ",a.error]}):null,a.status==="loaded"&&p?o.jsx("div",{className:"marketplace-prose",dangerouslySetInnerHTML:{__html:p}}):null]},t.path),o.jsxs("footer",{className:"flex items-center justify-between gap-2",children:[o.jsxs("a",{href:c,target:"_blank",rel:"noreferrer noopener",className:"inline-flex items-center gap-1 text-xs text-sec transition-colors hover:text-pri",children:[s("marketplace.viewSource"),o.jsx(zr,{size:11,"aria-hidden":!0})]}),o.jsx("button",{type:"button",disabled:a.status!=="loaded"||!a.detail,onClick:()=>{a.detail&&r({name:t.name,description:a.detail.body.trim()})},"data-testid":"marketplace-import-button",className:"icon-btn icon-btn--primary",children:s("marketplace.importButton")})]})]})},Bn="color-mix(in oklab, var(--accent) 8%, transparent)",xa="color-mix(in oklab, var(--accent) 16%, transparent)",ka="color-mix(in oklab, var(--accent) 55%, transparent)",ba=t=>({background:t?xa:"transparent",boxShadow:t?`inset 2px 0 0 ${ka}`:"none"}),Wn=({label:t,count:e,active:n,onClick:r})=>o.jsxs("button",{type:"button",onClick:r,"data-active":n?"true":"false",className:`marketplace-category-row flex w-full cursor-pointer items-center justify-between gap-2 rounded px-2 py-1 text-left text-sm transition-colors ${n?"font-medium text-pri":"text-sec"}`,style:ba(n),children:[o.jsx("span",{className:"truncate",children:t}),e!==void 0?o.jsx("span",{className:"tabular-nums text-xs text-sec",children:e}):null]}),ya=({categories:t,selected:e,onSelect:n,counts:r,showAll:s,onToggleShowAll:a,hiddenCount:l})=>{const{t:c,language:p}=Q(),u=r?Object.values(r).reduce((h,f)=>h+f,0):void 0;return o.jsxs("nav",{className:"flex flex-col gap-0.5","data-testid":"marketplace-category-tree",children:[o.jsx("style",{children:`
67
- .marketplace-category-row[data-active='false']:hover {
68
- background: ${Bn};
69
- color: var(--text-primary);
70
- }
71
- .marketplace-toggle-row:hover {
72
- background: ${Bn};
73
- color: var(--text-primary);
74
- }
75
- `}),o.jsx(Wn,{label:c("marketplace.allCategories"),count:u,active:e===null,onClick:()=>n(null)}),t.map(h=>o.jsx(Wn,{label:Gr(h,p),count:r?.[h],active:e===h,onClick:()=>n(h)},h)),l>0||s?o.jsx("div",{className:"mt-2 pt-2",style:{borderTop:"1px solid var(--border-bright)"},children:o.jsx("button",{type:"button",onClick:a,"data-testid":"marketplace-toggle-show-all",className:"marketplace-toggle-row flex w-full cursor-pointer items-center justify-between gap-2 rounded px-2 py-1 text-left text-xs text-sec transition-colors",children:s?c("marketplace.showCoreOnly"):c("marketplace.showAllCategories",{count:l})})}):null]})},Ta={status:"idle",data:null,error:null},wa=(t,e)=>{const[n,r]=R.useState(Ta),s=R.useRef(new Map),a=R.useRef(new Map);R.useEffect(()=>{if(!e)return;const c=s.current.get(t);if(c){r({status:"loaded",data:c,error:null});return}r({status:"loading",data:null,error:null});let p=!1;return br(t).then(u=>{p||(s.current.set(t,u),r({status:"loaded",data:u,error:null}))}).catch(u=>{p||r({status:"error",data:null,error:u instanceof Error?u.message:"unknown"})}),()=>{p=!0}},[e,t]);const l=R.useCallback(async c=>{const p=`${t}::${c}`,u=a.current.get(p);if(u)return u;const h=await yr(t,c);return a.current.set(p,h),h},[t]);return{manifestState:n,loadAgent:l}},Hn="REPO",Sa=(t,e)=>{const n=t("marketplace.sourceLabel",{repo:Hn}),[r,s=""]=n.split(Hn);return o.jsxs(o.Fragment,{children:[r,o.jsx("span",{className:"mono",children:e}),s]})},at=new Set(["engineering","design","product","testing","project-management","specialized","integrations"]),Aa=({open:t,onClose:e,onImport:n,importedNames:r})=>{const{t:s,language:a}=Q(),{manifestState:l,loadAgent:c}=wa(a,t),[p,u]=R.useState(null),[h,f]=R.useState(null),[k,S]=R.useState(""),[b,x]=R.useState(!0);R.useEffect(()=>{f(null),u(null),S("")},[a]);const v=T=>{T||e()},A=l.data,K=R.useMemo(()=>{if(!A)return{};const T={};for(const _ of A.agents)T[_.category]=(T[_.category]??0)+1;return T},[A]),se=R.useMemo(()=>{if(!A)return[];const T=b?A.categories:A.categories.filter(_=>at.has(_));return Yr(T,a)},[A,b,a]),J=R.useMemo(()=>A?A.categories.length-se.length:0,[A,se]),ee=R.useMemo(()=>{if(!A)return[];const T=k.trim().toLowerCase();return A.agents.filter(_=>{if(p){if(_.category!==p)return!1}else if(!b&&!at.has(_.category))return!1;return T?_.name.toLowerCase().includes(T)||_.description.toLowerCase().includes(T):!0})},[A,k,p,b]),C=()=>{x(T=>{const _=!T;return _||(p&&!at.has(p)&&u(null),h&&!at.has(h.category)&&f(null)),_})},X=T=>{n(T),f(null),e()};return o.jsx(Un,{open:t,onOpenChange:v,children:o.jsxs(Gn,{children:[o.jsx(qn,{"data-testid":"marketplace-overlay",className:"app-overlay fixed inset-0 z-40"}),o.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:o.jsxs(Yn,{"data-testid":"marketplace-content",className:"dialog-scale-pop elev-2 pointer-events-auto flex w-full flex-col rounded-lg border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)",width:"min(1280px, calc(100vw - 32px))",height:"min(820px, calc(100vh - 48px))"},children:[o.jsxs("header",{className:"flex shrink-0 items-center justify-between gap-4 border-b px-5 py-4",style:{borderColor:"var(--border)"},children:[o.jsxs("div",{className:"flex flex-col gap-0.5",children:[o.jsx(Zn,{className:"text-lg font-semibold text-pri",children:s("marketplace.title")}),o.jsx(Xn,{className:"text-xs text-ter",children:A?Sa(s,A.source.repo):" "})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("div",{className:"relative flex w-72 items-center",children:[o.jsx(Vn,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 text-ter"}),o.jsx("input",{type:"search",value:k,onChange:T=>S(T.target.value),placeholder:s("marketplace.searchPlaceholder"),"data-testid":"marketplace-search",className:"input",style:{paddingLeft:"36px"}})]}),o.jsx(Tr,{asChild:!0,children:o.jsx("button",{type:"button","aria-label":s("marketplace.close"),"data-testid":"marketplace-close",className:"flex h-7 w-7 items-center justify-center rounded text-sec hover:bg-3 hover:text-pri",children:o.jsx(wr,{size:14,"aria-hidden":!0})})})]})]}),o.jsxs("div",{className:"grid min-h-0 flex-1 divide-x transition-[grid-template-columns] duration-200 ease-out",style:{borderColor:"var(--border)",gridTemplateColumns:h?"200px minmax(0, 1fr) 380px":"200px minmax(0, 1fr)"},children:[o.jsx("aside",{className:"scroll-y min-h-0 px-4 py-3",children:A?o.jsx(ya,{categories:se,selected:p,onSelect:T=>{u(T),f(null),S("")},counts:K,showAll:b,onToggleShowAll:C,hiddenCount:J}):null}),o.jsx("section",{className:"scroll-y min-h-0 px-4 py-3","data-testid":"marketplace-agent-grid",children:l.status==="loading"?o.jsx("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:s("marketplace.loading")}):l.status==="error"?o.jsxs("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:[s("marketplace.loadFailed"),": ",l.error]}):ee.length===0?o.jsx("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:s("marketplace.empty")}):o.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))"},children:ee.map(T=>o.jsx(Vr,{agent:T,selected:h?.path===T.path,imported:r?.has(T.name)??!1,onSelect:()=>f(T)},T.path))})},p??"__all__"),h&&A?o.jsx("section",{className:"min-h-0",children:o.jsx(ga,{agent:h,sourceRepo:A.source.repo,loadAgent:c,onImport:X})}):null]})]})})]})})},_a={orchestrator:"Or",coder:"Co",reviewer:"Re",tester:"Te",custom:"Cu"},Ea={orchestrator:"var(--accent)",coder:"var(--status-blue)",reviewer:"var(--status-purple)",tester:"var(--status-orange)",custom:"var(--text-secondary)"},va={working:"var(--status-green)",idle:"var(--text-tertiary)",stopped:"var(--status-red)"},Ra=({role:t,size:e=32,statusRing:n="none"})=>o.jsx(Sr,{size:e,color:Ea[t],fontRatio:.34,mono:!0,ringColor:n==="none"?null:va[n],ringSurface:"var(--bg-2)",testId:"role-avatar",data:{role:t,"status-ring":n},children:_a[t]}),Na=[{value:"coder"},{value:"reviewer"},{value:"tester"},{value:"custom",dashed:!0}],ur=t=>`role.${t}`,De=({children:t})=>o.jsx("span",{className:"text-sm font-medium text-sec",children:t}),Ca=({active:t,spec:e,onSelect:n})=>{const{t:r}=Q();return o.jsxs("button",{type:"button",onClick:n,"aria-pressed":t,"data-testid":`role-card-${e.value}`,className:`selectable-card${e.dashed?" selectable-card--dashed":""} flex items-center gap-3 px-3 py-2`,children:[o.jsx(Ra,{role:e.value,size:20}),o.jsx("span",{className:"flex-1 text-left text-base font-medium text-pri",children:r(ur(e.value))}),t?o.jsx(Ft,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]})},Ia=({onRoleChange:t,workerRole:e})=>{const{t:n}=Q();return o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx(De,{children:n("addWorker.role")}),o.jsx("div",{className:"grid grid-cols-2 gap-2",children:Na.map(r=>o.jsx(Ca,{active:e===r.value,spec:r,onSelect:()=>t(r.value)},r.value))})]})},Oa=({customTemplates:t,disabledReason:e,onDeleteTemplate:n,onSelect:r,selectedTemplateId:s})=>{const{t:a}=Q(),[l,c]=R.useState(!1),[p,u]=R.useState(""),[h,f]=R.useState(null),k=R.useRef(null),S=R.useMemo(()=>t.find(x=>x.id===s)??null,[t,s]),b=R.useMemo(()=>{const x=p.trim().toLowerCase();return x?t.filter(v=>v.name.toLowerCase().includes(x)||v.description.toLowerCase().includes(x)):t},[t,p]);return R.useEffect(()=>{if(!l)return;const x=A=>{A.key==="Escape"&&c(!1)},v=A=>{const K=k.current;K&&!K.contains(A.target)&&c(!1)};return document.addEventListener("keydown",x),document.addEventListener("pointerdown",v),()=>{document.removeEventListener("keydown",x),document.removeEventListener("pointerdown",v)}},[l]),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx(De,{children:a("addWorker.template")}),o.jsxs("div",{ref:k,className:"relative",children:[o.jsxs("button",{type:"button","aria-haspopup":"listbox","aria-expanded":l,"data-testid":"role-template-picker-trigger",onClick:()=>c(x=>!x),className:"flex w-full items-center justify-between gap-2 rounded border px-3 py-2 text-left text-sm transition-colors hover:bg-3",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[o.jsx("span",{className:"min-w-0 flex-1 truncate text-pri",children:S?S.name:a("addWorker.templatePickPlaceholder")}),o.jsx($t,{size:14,className:"shrink-0 text-ter","aria-hidden":!0})]}),l?o.jsxs("div",{role:"listbox","aria-label":a("addWorker.template"),"data-testid":"role-template-picker-menu",className:"elev-2 absolute left-0 right-0 top-full z-30 mt-1 flex max-h-72 flex-col overflow-hidden rounded border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[o.jsxs("div",{className:"flex items-center gap-2 border-b px-2 py-1.5",style:{borderColor:"var(--border)"},children:[o.jsx(Vn,{size:14,className:"text-ter","aria-hidden":!0}),o.jsx("input",{value:p,onChange:x=>u(x.currentTarget.value),placeholder:a("addWorker.templateSearchPlaceholder"),"data-testid":"role-template-search-input",className:"w-full bg-transparent text-sm text-pri outline-none placeholder:text-ter",spellCheck:!1})]}),o.jsx("div",{className:"flex-1 overflow-y-auto py-1",children:t.length===0?o.jsx("div",{"data-testid":"role-template-empty-state",className:"px-3 py-3 text-center text-sm text-ter",children:a("addWorker.templateEmpty")}):b.length===0?o.jsx("div",{className:"px-3 py-3 text-center text-sm text-ter",children:a("addWorker.templateNoMatch")}):b.map(x=>{const v=x.id===s;return o.jsxs("div",{className:"relative",children:[o.jsxs("button",{type:"button",role:"option","aria-selected":v,"data-testid":`role-template-option-${x.id}`,onClick:()=>{r(x.id),c(!1),u("")},className:"flex w-full items-center gap-2 px-3 py-1.5 pr-9 text-left text-sm text-pri hover:bg-3",style:v?{background:"var(--bg-3)"}:void 0,children:[o.jsx("span",{className:"min-w-0 flex-1 truncate",children:x.name}),v?o.jsx(Ft,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]}),o.jsx("button",{type:"button","aria-label":a("addWorker.templateDeleteAria",{name:x.name}),"data-testid":`role-template-delete-${x.id}`,disabled:!!e,title:e??void 0,onClick:A=>{A.preventDefault(),A.stopPropagation(),!e&&f(x)},className:"absolute right-1 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded text-ter transition-colors hover:bg-3 hover:text-pri",children:o.jsx(Ar,{size:14,"aria-hidden":!0})})]},x.id)})}),s!==null?o.jsx("button",{type:"button","data-testid":"role-template-clear",onClick:()=>{r(null),c(!1),u("")},className:"border-t px-3 py-1.5 text-left text-sm text-ter transition-colors hover:bg-3 hover:text-pri",style:{borderColor:"var(--border)"},children:a("addWorker.templateClear")}):null]}):null]}),o.jsx(_r,{open:h!==null,onOpenChange:x=>{x||f(null)},title:a("addWorker.templateDeleteTitle"),description:h?a("addWorker.templateDeleteConfirm",{name:h.name}):"",confirmLabel:a("addWorker.templateDeleteConfirmLabel"),confirmKind:"danger",onConfirm:()=>{if(!h||e)return;const x=h.id;f(null),n(x)}})]})},La=({canSaveAsTemplate:t,modified:e,onChange:n,onReset:r,onSaveAsTemplate:s,roleDescription:a,templateBusy:l,workerRole:c,writeDisabledReason:p})=>{const{t:u}=Q(),[h,f]=R.useState(!1),[k,S]=R.useState(!1),[b,x]=R.useState("");return R.useEffect(()=>{(c==="custom"||e)&&f(!0)},[e,c]),R.useEffect(()=>{t||(S(!1),x(""))},[t]),o.jsxs("details",{open:h,onToggle:v=>f(v.currentTarget.open),className:"group flex flex-col gap-2",children:[o.jsxs("summary",{className:"flex cursor-pointer select-none items-center justify-between gap-2 list-none",children:[o.jsxs("span",{className:"flex items-center gap-1.5",children:[o.jsx($t,{size:12,"aria-hidden":!0,className:"-rotate-90 text-ter transition-transform duration-150 group-open:rotate-0"}),o.jsx(De,{children:u("addWorker.roleInstructions")}),e?o.jsxs("span",{className:"text-sm text-ter",children:["· ",u("addWorker.modifiedFrom",{role:u(ur(c))})]}):null]}),o.jsxs("div",{className:"flex items-center gap-1",children:[t&&!k?o.jsxs("button",{type:"button","data-testid":"role-template-save",disabled:!!p,title:p??void 0,onClick:v=>{v.preventDefault(),v.stopPropagation(),S(!0)},className:"flex items-center gap-1 rounded px-2 py-0.5 text-xs font-medium transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",style:{color:"var(--accent)",background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[o.jsx(Ir,{size:12,"aria-hidden":!0}),u("addWorker.saveAsTemplate")]}):null,e?o.jsxs("button",{type:"button",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-ter transition-colors hover:bg-3 hover:text-sec",onClick:v=>{v.preventDefault(),v.stopPropagation(),r()},children:[o.jsx(Er,{size:12,"aria-hidden":!0}),u("addWorker.reset")]}):null]})]}),o.jsx("textarea",{"aria-label":"Role instructions",id:"add-worker-role-instructions",value:a,rows:5,onChange:v=>n(v.currentTarget.value),placeholder:c==="custom"?u("addWorker.customPlaceholder"):void 0,title:u("addWorker.roleInstructionsTitle"),className:"input mono resize-y text-sm",style:{minHeight:150},"data-testid":"role-instructions-textarea"}),t&&k?o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("input",{autoFocus:!0,value:b,onChange:v=>x(v.currentTarget.value),placeholder:u("addWorker.templateNamePlaceholder"),"data-testid":"role-template-save-name",className:"input flex-1 text-sm"}),o.jsx("button",{type:"button",disabled:l||!b.trim()||!!p,title:p??void 0,"data-testid":"role-template-save-confirm",onClick:async()=>{if(p)return;const v=b.trim();if(v)try{await s(v),S(!1),x("")}catch{}},className:"icon-btn icon-btn--primary text-xs",children:u("addWorker.templateSaveConfirm")}),o.jsx("button",{type:"button","data-testid":"role-template-save-cancel",onClick:()=>{S(!1),x("")},className:"icon-btn text-xs",children:u("common.cancel")})]}):null]})},pr=({active:t,command:e,displayName:n,logoPresetId:r,notFound:s=!1,testId:a,onSelect:l})=>{const{t:c}=Q(),p=o.jsx("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded border border-border bg-surface-1 text-ter","data-testid":`${a}-generic-icon`,"aria-hidden":!0,children:o.jsx(Fr,{size:13})});return o.jsxs("button",{type:"button",onClick:l,"aria-pressed":t,"data-testid":a,className:"selectable-card flex items-center justify-between gap-3 px-3 py-2",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-3",children:[o.jsx(vr,{commandPresetId:r,fallback:p,size:22}),o.jsxs("span",{className:"flex min-w-0 flex-col items-start gap-0.5",children:[o.jsx("span",{className:"truncate text-base font-medium text-pri",children:n}),o.jsxs("span",{className:"mono truncate text-xs text-ter",children:[e,s?` · ${c("addWorker.agentNotFound")}`:""]})]})]}),t?o.jsx(Ft,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]})},ja=({active:t,preset:e,onSelect:n})=>o.jsx(pr,{active:t,command:e.command,displayName:e.displayName,logoPresetId:e.id,notFound:e.available===!1,testId:`agent-radio-${e.id}`,onSelect:n}),Da=({commandPresetId:t,commandPresets:e,onPresetChange:n})=>o.jsx(Ma,{commandPresetId:t,commandPresets:e,onPresetChange:n}),Ma=({commandPresetId:t,commandPresets:e,onPresetChange:n})=>{const{t:r}=Q();return o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx(De,{children:r("addWorker.agentCli")}),e.length===0?o.jsx("div",{className:"text-sm text-ter",children:r("addWorker.loadingPresets")}):o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.map(s=>o.jsx(ja,{active:t===s.id,preset:s,onSelect:()=>n(s.id)},s.id)),o.jsx(pr,{active:t==="",command:r("addWorker.genericCommand"),displayName:r("addWorker.genericAgent"),testId:"agent-radio-generic",onSelect:()=>n("")})]})]})},za=({onChange:t,value:e})=>{const{t:n}=Q(),r=e.trim();return o.jsxs("details",{className:"group flex flex-col gap-2",children:[o.jsx("summary",{className:"flex cursor-pointer select-none items-center justify-between gap-2 list-none",children:o.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[o.jsx($t,{size:12,"aria-hidden":!0,className:"-rotate-90 shrink-0 text-ter transition-transform duration-150 group-open:rotate-0"}),o.jsx(De,{children:n("addWorker.startupCommand")}),r?o.jsxs("span",{className:"truncate text-sm text-ter",children:["· ",n("addWorker.startupOverrides")]}):null]})}),o.jsxs("div",{className:"flex flex-col gap-2 rounded border bg-2 p-3",style:{borderColor:"var(--border)"},children:[o.jsx("input",{"aria-label":"Startup command",value:e,onChange:s=>t(s.currentTarget.value),placeholder:"qwen --model qwen3-coder",className:"input mono text-sm",spellCheck:!1}),o.jsx("p",{className:"text-sm leading-5 text-ter",children:n("addWorker.startupHelp",{example:"claude --resume <session-id>"})})]})]})},$a=({commandPresets:t,commandPresetId:e,creating:n=!1,customTemplates:r,onApplyMarketplaceImport:s,onClose:a,onDeleteTemplate:l,onNameChange:c,onPresetChange:p,onRandomName:u,onRoleDescriptionChange:h,onRoleDescriptionReset:f,onRoleChange:k,onSaveAsTemplate:S,onStartupCommandChange:b,onSubmit:x,onTemplateChange:v,roleDescription:A,roleDescriptionDefault:K,selectedTemplateId:se,startupCommand:J,templateBusy:ee,workerName:C,workerRole:X,writeDisabledReason:T})=>{const{t:_}=Q(),Me=Rr(),[pt,qe]=R.useState(!1),dt=R.useMemo(()=>new Set(r.map(H=>H.name)),[r]),F=H=>{s(H),Me.show({kind:"success",message:_("marketplace.imported",{name:H.name})})},we=H=>{H||a()},Se=A!==K,fe=t.find(H=>H.id===e),Ye=J.trim(),ht=()=>T||(C.trim()?!e&&!Ye?_("addWorker.pickCliOrStartup"):fe?.available===!1&&!Ye?_("addWorker.unavailable",{name:fe.displayName}):A.trim()?null:_("addWorker.emptyInstructions"):_("addWorker.enterName")),ft=H=>{const Ze=ht();if(Ze){H.preventDefault(),Me.show({kind:"warning",message:Ze});return}x(H)};return o.jsxs(Un,{open:!0,onOpenChange:we,children:[o.jsxs(Gn,{children:[o.jsx(qn,{"data-testid":"add-worker-overlay",className:"app-overlay fixed inset-0 z-40"}),o.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:o.jsx(Yn,{"data-testid":"add-worker-content",className:"dialog-scale-pop elev-2 pointer-events-auto flex max-h-[calc(100vh-32px)] w-[560px] max-w-full flex-col rounded-lg border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:o.jsxs("form",{onSubmit:ft,"aria-label":_("addWorker.title"),className:"flex flex-col",children:[o.jsxs("div",{className:"flex shrink-0 flex-col gap-0.5 border-b px-5 py-4",style:{borderColor:"var(--border)"},children:[o.jsx(Zn,{className:"text-lg font-semibold text-pri",children:_("addWorker.title")}),o.jsx(Xn,{className:"text-sm text-ter",children:_("addWorker.description",{command:"team send"})})]}),o.jsxs("div",{className:"flex flex-col gap-4 overflow-y-auto px-5 py-4",children:[o.jsxs("label",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[o.jsx(De,{children:_("addWorker.name")}),o.jsx(Nr,{label:_("addWorker.randomTooltip"),children:o.jsxs("button",{type:"button","aria-label":_("addWorker.randomAria"),className:"flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 text-xs text-ter transition-colors hover:bg-3 hover:text-sec",onClick:u,"data-testid":"random-worker-name",children:[o.jsx(Dr,{size:12,"aria-hidden":!0}),_("addWorker.random")]})})]}),o.jsx("input",{autoFocus:!0,value:C,onChange:H=>c(H.target.value),placeholder:_("addWorker.namePlaceholder"),className:"input"})]}),o.jsx(Ia,{workerRole:X,onRoleChange:k}),o.jsxs("button",{type:"button",onClick:()=>qe(!0),"data-testid":"open-marketplace",className:"marketplace-browse-btn flex cursor-pointer items-center gap-2 self-start rounded-md border px-3 py-1.5 text-xs text-sec outline-none transition-colors focus-visible:ring-2",style:{background:"var(--bg-0)",borderColor:"var(--border-bright)","--tw-ring-color":"color-mix(in oklab, var(--accent) 45%, transparent)"},children:[o.jsx(Wr,{size:14,"aria-hidden":!0}),_("marketplace.openFromAddWorker")]}),X==="custom"?o.jsx(Oa,{customTemplates:r,disabledReason:T,onDeleteTemplate:l,onSelect:v,selectedTemplateId:se}):null,o.jsx(La,{canSaveAsTemplate:X==="custom"&&!se&&A.trim().length>0,modified:Se,onChange:h,onReset:f,onSaveAsTemplate:S,roleDescription:A,templateBusy:ee,workerRole:X,writeDisabledReason:T}),o.jsx(Da,{commandPresetId:e,commandPresets:t,onPresetChange:p}),o.jsx(za,{value:J,onChange:b})]}),o.jsxs("div",{className:"flex shrink-0 items-center justify-end gap-2 border-t px-5 py-3",style:{borderColor:"var(--border)",background:"var(--bg-2)"},children:[o.jsx("button",{type:"button",onClick:a,className:"icon-btn","data-testid":"add-worker-cancel",children:_("addWorker.cancel")}),o.jsx("button",{type:"submit",disabled:n||!!T,title:T??void 0,className:"icon-btn icon-btn--primary","data-testid":"add-worker-submit",children:_(n?"addWorker.creating":"addWorker.create")})]})]})})})]}),o.jsx(Aa,{open:pt,onClose:()=>qe(!1),onImport:F,importedNames:dt})]})};export{$a as AddWorkerDialog};
@@ -1 +0,0 @@
1
- import{r as d,u as z,j as e,k as j,m as k,O as R,n as C,o as N,q as E,T as S,a as M,v as L,X as T,I as D,J as I,K as O}from"./index-7NLKrr1z.js";const A=t=>{switch(t){case"coder":return{badgeClass:"role-badge--coder",label:"Coder"};case"tester":return{badgeClass:"role-badge--tester",label:"Tester"};case"reviewer":return{badgeClass:"role-badge--reviewer",label:"Reviewer"};case"custom":return{badgeClass:"role-badge--custom",label:"Custom"};default:return{badgeClass:"role-badge--custom",label:String(t)}}},w="hive.worker-modal.width",c=480,W=.5,x=t=>{const s=typeof window<"u"?window.innerWidth-24:1200;return Math.min(Math.max(t,c),Math.max(c,s))},v=()=>typeof window>"u"?c:x(Math.round(window.innerWidth*W)),P=()=>{try{const t=localStorage.getItem(w);if(!t)return v();const s=Number.parseInt(t,10);return Number.isFinite(s)?x(s):v()}catch{return v()}},_=()=>{const[t,s]=d.useState(()=>P()),[u,i]=d.useState(!1);d.useEffect(()=>{try{localStorage.setItem(w,String(Math.round(t)))}catch{}},[t]),d.useEffect(()=>{const a=()=>{s(r=>x(r))};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);const m=d.useCallback(a=>r=>{r.preventDefault();const h=r.clientX,l=t;i(!0);const b=document.body.style.cursor,n=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";const p=f=>{const g=f.clientX-h,y=a==="left"?l-2*g:l+2*g;s(x(y))},o=()=>{i(!1),document.body.style.cursor=b,document.body.style.userSelect=n,document.removeEventListener("pointermove",p),document.removeEventListener("pointerup",o),document.removeEventListener("pointercancel",o)};document.addEventListener("pointermove",p),document.addEventListener("pointerup",o),document.addEventListener("pointercancel",o)},[t]);return{width:t,resizing:u,beginResize:m}},X=({onClose:t,onStart:s,runId:u,startError:i,starting:m,worker:a})=>{const{t:r}=z(),h=A(a.role),l=!!u,b=O(l),n=_(),p=o=>{o||t()};return e.jsx(j,{open:!0,onOpenChange:p,children:e.jsxs(k,{children:[e.jsx(R,{"data-testid":"worker-modal-overlay",className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center",children:e.jsxs(C,{"data-testid":"worker-modal","aria-label":r("worker.detail",{name:a.name}),className:"dialog-scale-pop pointer-events-auto relative flex h-screen max-h-screen max-w-full flex-col overflow-hidden",onEscapeKeyDown:o=>o.preventDefault(),style:{background:"var(--bg-1)",width:`${n.width}px`},children:[e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":r("worker.widthResize"),"aria-valuemin":c,"aria-valuenow":Math.round(n.width),className:"modal-resize-handle modal-resize-handle--left",tabIndex:-1,"data-resizing":n.resizing||void 0,onPointerDown:n.beginResize("left")}),e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":r("worker.widthResize"),"aria-valuemin":c,"aria-valuenow":Math.round(n.width),className:"modal-resize-handle modal-resize-handle--right",tabIndex:-1,"data-resizing":n.resizing||void 0,onPointerDown:n.beginResize("right")}),e.jsx(N,{className:"sr-only",children:a.name}),e.jsxs(E,{className:"sr-only",children:[h.label," agent — status ",b.label]}),i?e.jsxs("div",{role:"alert",className:"flex shrink-0 items-center gap-2 border-b px-4 py-2 text-xs",style:{background:"color-mix(in oklab, var(--status-red) 10%, transparent)",borderColor:"color-mix(in oklab, var(--status-red) 30%, var(--border))",color:"var(--status-red)"},children:[e.jsx(S,{size:12,"aria-hidden":!0}),e.jsx("span",{className:"break-words",children:i})]}):null,e.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col p-3","data-testid":"worker-modal-terminal-slot",children:[e.jsx(M,{label:r("common.close"),children:e.jsx(L,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":"Close worker detail",className:"float-action absolute top-4 right-4 z-10",children:e.jsx(T,{size:14,"aria-hidden":!0})})})}),e.jsx("div",{className:"flex min-h-0 flex-1 rounded-lg border",style:{background:"var(--bg-crust)",borderColor:"var(--border)"},children:l?e.jsx("div",{id:`worker-pty-${u}`,className:"flex h-full w-full","data-pty-slot":"worker"}):e.jsxs("div",{className:"m-auto flex max-w-[400px] flex-col items-center gap-3 px-6 text-center",children:[e.jsx(D,{commandPresetId:a.commandPresetId,workerRole:a.role,size:48}),e.jsx("div",{className:"text-sm text-pri",children:a.name}),e.jsxs("div",{className:"text-xs text-ter",children:[a.status==="stopped"?r("worker.terminalStopped"):r("worker.terminalNotStarted"),a.pendingTaskCount>0?r("worker.pendingResume",{count:a.pendingTaskCount}):r("worker.startAgent")]}),e.jsxs("button",{type:"button",onClick:()=>s(a),disabled:m,className:"icon-btn icon-btn--primary","data-testid":"worker-start-empty",children:[e.jsx(I,{size:12,"aria-hidden":!0})," ",r(m?"common.starting":"common.start")]})]})})]})]})})]})})};export{X as WorkerModal};
@@ -1 +0,0 @@
1
- import{c as C,j as e,u as K,T as ie,R as re,r as x,p as ce,D as de,a as _,E as ue,C as te,P as Y,b as he,d as pe,e as xe,f as ke,g as me,h as fe,l as M}from"./index-7NLKrr1z.js";import{C as se}from"./chevron-right-39MYBReb.js";const be=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],P=C("at-sign",be);const ge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],je=C("circle",ge);const we=[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],G=C("corner-down-right",we);const ye=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],ve=C("file-code",ye);const Ne=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ae=C("file-text",Ne);const Te=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],_e=C("panel-right-close",Te);const Ce=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],$e=C("save",Ce),U=t=>{const n=[];let l="",a=0;const c=()=>{l&&(n.push(l),l="")};let o=0;for(;o<t.length;){const r=t.slice(o),u=r.match(/^\*\*([^*]+?)\*\*/);if(u?.[1]){c(),n.push(e.jsx("strong",{children:U(u[1])},a++)),o+=u[0].length;continue}const s=r.match(/^`([^`]+?)`/);if(s?.[1]){c(),n.push(e.jsx("code",{className:"mono",children:s[1]},a++)),o+=s[0].length;continue}const i=r.match(/^\*([^*]+?)\*/);if(i?.[1]){c(),n.push(e.jsx("em",{children:U(i[1])},a++)),o+=i[0].length;continue}l+=t[o],o+=1}return c(),n},Se=({content:t,hasConflict:n,onContentChange:l,onKeepLocal:a,onReload:c,onSave:o})=>{const{t:r}=K(),u=s=>{s.preventDefault(),o()};return e.jsxs("form",{onSubmit:u,className:"flex h-full flex-col gap-3",children:[e.jsxs("label",{className:"flex min-h-0 flex-1 flex-col gap-2 text-xs text-sec",children:[e.jsxs("span",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"font-medium text-sec",children:r("tasks.raw.label")}),e.jsx("span",{className:"mono text-xs text-ter",children:r("tasks.raw.lineCount",{count:t.split(/\r?\n/).length})})]}),e.jsx("textarea",{"aria-label":r("tasks.raw.label"),value:t,onChange:s=>l(s.target.value),className:"mono min-h-[360px] flex-1 resize-none rounded border p-3 text-sm text-pri outline-none focus:border-[var(--accent)]",style:{background:"var(--bg-0)",borderColor:"var(--border)"}})]}),n?e.jsxs("div",{className:"flex items-start gap-2 rounded border p-3 text-xs",style:{borderColor:"var(--status-orange)",color:"var(--status-orange)"},children:[e.jsx(ie,{className:"mt-0.5 shrink-0",size:16}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"font-medium",children:r("tasks.raw.conflictTitle")}),e.jsx("p",{className:"mt-1 text-ter",children:r("tasks.raw.conflictDescription")})]}),e.jsxs("div",{className:"flex shrink-0 gap-2",children:[e.jsxs("button",{type:"button",onClick:c,className:"icon-btn",children:[e.jsx(re,{size:14}),r("tasks.raw.reload")]}),e.jsx("button",{type:"button",onClick:a,className:"icon-btn",children:r("tasks.raw.keepLocal")})]})]}):null,e.jsx("div",{className:"flex justify-end border-t pt-3",style:{borderColor:"var(--border)"},children:e.jsxs("button",{type:"submit",className:"icon-btn icon-btn--primary",children:[e.jsx($e,{size:14}),r("tasks.raw.save")]})})]})},B=["#a78bfa","#60a5fa","#5eead4","#86efac","#fde047","#fb923c","#f9a8d4","#fca5a5"],ne=t=>{let n=0;for(let l=0;l<t.length;l+=1)n=n*31+t.charCodeAt(l)>>>0;return B[n%B.length]??B[0]},ze=[{pattern:/^(done|completed?|finished?|ok|success|完成|已完成|搞定)$/i,tone:"green"},{pattern:/^(working|running|in[-_ ]?progress|dispatching|dispatched|进行中|派单中?|执行中|处理中)$/i,tone:"orange"},{pattern:/^(blocked|failed|error|errored|阻塞|失败|出错)$/i,tone:"red"},{pattern:/^(queued|waiting|pending|todo|open|idle|待办|等待中?|队列中|未开始)$/i,tone:"neutral"}],X=new Set(["owner","assignee","负责","负责人","执行人"]),Z=new Set(["status","状态"]),J=new Set(["报告","report","文件","file","path","日志","log","产物"]),Ee=/^(.*?)\s*\(([^()]+)\)\s*$/,De=/\s*[·,,;;]\s*/,Me=/^([^::]+)[::]\s*(.+)$/,Re=t=>{for(const{pattern:n,tone:l}of ze)if(n.test(t))return l;return"neutral"},Ae=t=>t.includes("/")?!0:/^[A-Za-z0-9._-]+\.[A-Za-z0-9]+$/.test(t),Le=t=>{const n=t.match(Ee);if(!n)return{title:t,meta:[]};const[,l="",a=""]=n;if(!a.trim())return{title:t,meta:[]};const c=a.split(De).filter(Boolean),o=[];for(const r of c){const u=r.match(Me);if(!u){o.push({kind:"note",value:r.trim()});continue}const s=(u[1]??"").trim(),i=(u[2]??"").trim(),m=s.toLowerCase();X.has(m)||X.has(s)?o.push({kind:"owner",value:i}):Z.has(m)||Z.has(s)?o.push({kind:"status",value:i,tone:Re(i)}):J.has(m)||J.has(s)||Ae(i)?o.push({kind:"path",label:s,value:i}):o.push({kind:"note",value:`${s}: ${i}`})}return{title:l.trim(),meta:o}},Q=3,Pe=({item:t,handlers:n})=>{if(t.kind==="status")return e.jsx("span",{className:`pill pill--${t.tone}`,"data-testid":"task-meta-status",children:t.value});if(t.kind==="owner"){const a={"--owner-tone":ne(t.value)};return n.onSelectOwner?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":"task-meta-owner","data-owner":t.value,onClick:c=>{c.stopPropagation(),n.onSelectOwner?.(t.value)},style:a,children:[e.jsx(P,{size:10,"aria-hidden":!0}),t.value]}):e.jsxs("span",{className:"task-owner","data-testid":"task-meta-owner","data-owner":t.value,style:a,children:[e.jsx(P,{size:10,"aria-hidden":!0}),t.value]})}return t.kind==="path"?e.jsxs("span",{className:"pill pill--neutral mono inline-flex items-center gap-1","data-testid":"task-meta-path",title:`${t.label}: ${t.value}`,children:[e.jsx(ae,{size:10,"aria-hidden":!0}),t.value]}):e.jsx("span",{className:"text-xs text-ter","data-testid":"task-meta-note",children:t.value})},F=({initial:t,onSubmit:n,onCancel:l,placeholder:a})=>{const[c,o]=x.useState(t),r=()=>{const s=c.trim();if(!s){l();return}n(s)},u=s=>{s.key==="Enter"?(s.preventDefault(),r()):s.key==="Escape"&&(s.preventDefault(),l())};return e.jsx("input",{type:"text",autoFocus:!0,value:c,placeholder:a,onChange:s=>o(s.target.value),onKeyDown:u,onBlur:r,"data-testid":"task-inline-input",className:"task-row__input"})},W=({task:t,handlers:n,depth:l})=>{const{t:a}=K(),c=t.checked?he:je,{title:o,meta:r}=Le(t.text),[u,s]=x.useState(!1),[i,m]=x.useState(!1),[j,E]=x.useState(!1),[$,S]=x.useState(!1),b=x.useRef(null);x.useEffect(()=>()=>{b.current&&clearTimeout(b.current)},[]);const{onToggle:f,onUpdateText:p,onDelete:y,onAppendSubtask:R,onCopyLine:I,onSelectOwner:v,writeDisabled:g=!1}=n,A=!!p&&!g,z=!!y&&!g,N=!!R&&!g,L=!!I,D=!u&&!i&&(A||z||N||L),w=t.children.length,T=pe(t),H=l+1>=Q,O=w>0,V=j?a("tasks.aria.expandSubtasks",{count:w}):a("tasks.aria.collapseSubtasks",{count:w}),h=v?{onSelectOwner:v}:{};return e.jsxs("li",{className:"task-node","data-testid":`task-line-${t.line}`,children:[e.jsxs("div",{className:"task-row group",children:[l>=Q?e.jsx("span",{"aria-hidden":!0,className:"task-row__deep-marker",children:"▸"}):null,e.jsxs("label",{className:"task-row__checkbox-cell",children:[e.jsx("input",{type:"checkbox",checked:t.checked,disabled:g,onChange:()=>{g||f(t.line)},className:"sr-only","data-testid":`task-checkbox-${t.line}`,"aria-label":t.text||`task-line-${t.line}`}),e.jsx("span",{className:`task-row__indicator ${t.checked?"task-status-done":"task-status-open"}`,"aria-hidden":!0,children:e.jsx(c,{size:14})})]}),e.jsx("span",{className:"min-w-0 flex-1",children:u?e.jsx(F,{initial:t.text,placeholder:a("tasks.placeholder.editTask"),onSubmit:d=>{s(!1),p?.(t.line,d)},onCancel:()=>s(!1)}):e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"flex min-w-0 items-start gap-2",children:[e.jsx("span",{className:`task-row__title min-w-0 flex-1 ${t.checked?"text-ter line-through":"text-pri"}`,children:U(o)}),O?e.jsx("button",{type:"button",className:"task-row__collapse",onClick:d=>{d.stopPropagation(),E(k=>!k)},"data-testid":`task-collapse-${t.line}`,"aria-expanded":!j,"aria-label":V,children:j?e.jsx(se,{size:12,"aria-hidden":!0}):e.jsx(te,{size:12,"aria-hidden":!0})}):null,T?e.jsxs("span",{className:"task-child-count mono","data-testid":`task-progress-${t.line}`,title:a("tasks.progress.subtaskTitle",{done:T.done,total:T.total}),children:[T.done,"/",T.total]}):null]}),r.length>0||t.mentions.length>0?e.jsxs("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[r.map(d=>e.jsx(Pe,{item:d,handlers:h},`${t.line}-meta-${d.kind}-${"label"in d?d.label:""}-${d.value}`)),t.mentions.map(d=>{const k=d.replace(/^@/,""),q={"--owner-tone":ne(k)};return v?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":`task-mention-${k}`,"data-owner":k,onClick:oe=>{oe.stopPropagation(),v(k)},style:q,children:[e.jsx(P,{size:10,"aria-hidden":!0}),k]},`${t.line}-mention-${d}`):e.jsxs("span",{className:"task-owner","data-testid":`task-mention-${k}`,"data-owner":k,style:q,children:[e.jsx(P,{size:10,"aria-hidden":!0}),k]},`${t.line}-mention-${d}`)})]}):null]})}),D?e.jsxs("div",{className:"task-row__actions",children:[L?e.jsx(_,{label:a($?"tasks.action.copied":"tasks.action.copyLine"),children:e.jsx("button",{type:"button",className:"task-row__action",onClick:()=>{I?.(t.line),S(!0),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{S(!1),b.current=null},1500)},"data-testid":`task-copy-${t.line}`,"aria-label":a($?"tasks.aria.copiedTaskLine":"tasks.aria.copyTaskLine"),children:$?e.jsx(xe,{size:12}):e.jsx(ke,{size:12})})}):null,A?e.jsx(_,{label:a("tasks.action.edit"),children:e.jsx("button",{type:"button",className:"task-row__action",onClick:()=>s(!0),"data-testid":`task-edit-${t.line}`,"aria-label":a("tasks.aria.editTask"),children:e.jsx(me,{size:12})})}):null,N?e.jsx(_,{label:a("tasks.action.addSubtask"),children:e.jsx("button",{type:"button",className:"task-row__action",onClick:()=>{E(!1),m(!0)},"data-testid":`task-add-subtask-${t.line}`,"aria-label":a("tasks.aria.addSubtask"),children:e.jsx(G,{size:12})})}):null,z?e.jsx(_,{label:a("tasks.action.delete"),children:e.jsx("button",{type:"button",className:"task-row__action task-row__action--danger",onClick:()=>y?.(t.line),"data-testid":`task-delete-${t.line}`,"aria-label":a("tasks.aria.deleteTask"),children:e.jsx(fe,{size:12})})}):null]}):null]}),w>0&&!j||i?e.jsxs("ul",{className:`task-children${H?" task-children--deep":""}`,"data-testid":`task-children-${t.line}`,children:[j?null:t.children.map(d=>e.jsx(W,{depth:l+1,handlers:n,task:d},d.line)),i?e.jsx("li",{className:"task-node",children:e.jsxs("div",{className:"task-row task-row--child-input",children:[e.jsx("span",{"aria-hidden":!0,className:"task-row__indicator task-status-open",children:e.jsx(G,{size:12})}),e.jsx(F,{initial:"",placeholder:a("tasks.placeholder.newSubtask"),onSubmit:d=>{m(!1),R?.(t.line,d)},onCancel:()=>m(!1)})]})}):null]}):null]})},ee=({onSubmit:t,disabled:n=!1})=>{const{t:l}=K(),[a,c]=x.useState(!1),[o,r]=x.useState(""),u=()=>{const i=o.trim();if(!i){c(!1);return}t(i),r("")},s=i=>{i.key==="Enter"?(i.preventDefault(),u()):i.key==="Escape"&&(i.preventDefault(),r(""),c(!1))};return a?e.jsxs("div",{className:"task-add-input",children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-input__icon",children:e.jsx(Y,{size:12})}),e.jsx("input",{type:"text",autoFocus:!0,value:o,placeholder:l("tasks.placeholder.newTask"),onChange:i=>r(i.target.value),onKeyDown:s,onBlur:u,"data-testid":"task-add-input",className:"task-add-input__field"})]}):e.jsxs("button",{type:"button",onClick:()=>c(!0),disabled:n,"data-testid":"task-add-toggle",className:"task-add-toggle",children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-toggle__icon",children:e.jsx(Y,{size:12})}),e.jsx("span",{children:l("tasks.button.addTask")})]})},le=t=>t.flatMap(n=>[n,...le(n.children)]),Ke=t=>{const n=le(t),l=n.length,a=n.filter(o=>o.checked).length,c=l===0?0:Math.round(a/l*100);return{completedTasks:a,completionPercent:c,doneRoots:t.filter(o=>o.checked),openRoots:t.filter(o=>!o.checked),totalTasks:l}},Ie=({content:t,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:o,onSave:r,onToggleTaskLine:u,onAppendTask:s,onAppendSubtask:i,onUpdateTaskText:m,onDeleteTask:j,open:E,workspacePath:$,knownWorkerNames:S,onSelectOwner:b,connectionStale:f=!1})=>{const{t:p}=K(),[y,R]=x.useState(!1),v={onToggle:u,onCopyLine:h=>{const d=t.split(/\r?\n/)[h];typeof d=="string"&&navigator.clipboard?.writeText(d).catch(k=>{console.error("[hive] swallowed:tasks.copyLine",k)})},...m&&!f?{onUpdateText:m}:{},...j&&!f?{onDelete:j}:{},...i&&!f?{onAppendSubtask:i}:{},...b?{onSelectOwner:b}:{},...f?{writeDisabled:!0}:{}},g=x.useMemo(()=>ce(t,S?{knownWorkerNames:S}:{}),[t,S]),{completedTasks:A,completionPercent:z,doneRoots:N,openRoots:L,totalTasks:D}=x.useMemo(()=>Ke(g),[g]),[w,T]=x.useState(N.length<=3),H=$?`${$}/.hive/tasks.md`:".hive/tasks.md",O=h=>{if(h.key!=="Escape")return;const d=h.target?.tagName;d==="INPUT"||d==="TEXTAREA"||(h.preventDefault(),l())},V=`drawer absolute right-0 top-0 bottom-0 z-20 flex flex-col border-l shadow-2xl${E?" open":""}${f?" drawer--stale":""}`;return e.jsxs("aside",{"aria-label":p("tasks.aria.drawer"),"data-testid":"task-graph-drawer","data-connection-stale":f||void 0,"aria-hidden":!E,onKeyDown:O,className:V,style:{background:"var(--bg-1)",borderColor:"var(--border)",maxWidth:"calc(100vw - 3.5rem)",minWidth:360,width:de},children:[e.jsxs("header",{className:"task-drawer__header",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-baseline gap-2",children:[e.jsx(_,{label:e.jsx("span",{className:"mono text-ter",children:H}),children:e.jsx("span",{className:"cursor-default font-semibold text-pri",children:p("tasks.title.todo")})}),D>0?e.jsxs("span",{className:"text-xs text-ter tabular-nums","data-testid":"task-graph-summary",children:[e.jsxs("span",{"data-testid":"task-progress-text",children:[A," / ",D]})," ","· ",z,"%"]}):null]}),e.jsx(_,{label:p(y?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx("button",{type:"button",onClick:()=>R(h=>!h),"data-testid":"task-raw-toggle",className:"icon-btn","aria-label":p(y?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx(ve,{size:14})})}),e.jsx(_,{label:p("tasks.action.closeTodo"),children:e.jsx("button",{type:"button",onClick:l,"aria-label":p("tasks.action.closeTodo"),className:"icon-btn",children:e.jsx(_e,{size:14})})})]}),!y&&D>0?e.jsx("div",{"aria-label":p("tasks.aria.progress"),"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":z,className:"task-progress-thin task-drawer__progress","data-testid":"task-progress-bar",role:"progressbar",children:e.jsx("span",{style:{width:`${z}%`}})}):null,e.jsx("div",{className:"flex-1 scroll-y px-3 py-3 text-sm",children:y?e.jsx(Se,{content:t,hasConflict:n,onContentChange:a,onKeepLocal:c,onReload:o,onSave:r}):g.length===0?e.jsxs(e.Fragment,{children:[s?e.jsx("div",{className:"mb-1",children:e.jsx(ee,{disabled:f,onSubmit:s})}):null,e.jsx(ue,{icon:e.jsx(ae,{size:20}),title:p("tasks.empty.title"),description:p("tasks.empty.description")})]}):e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("ul",{className:"task-list","data-testid":"task-graph-list",children:[L.map(h=>e.jsx(W,{depth:0,handlers:v,task:h},h.line)),s?e.jsx("li",{children:e.jsx(ee,{disabled:f,onSubmit:s})}):null]}),N.length>0?e.jsxs("div",{className:"mt-1",children:[e.jsxs("button",{type:"button",onClick:()=>T(h=>!h),"aria-expanded":w,"data-testid":"task-completed-toggle",className:"task-completed-toggle",children:[w?e.jsx(te,{size:12,"aria-hidden":!0}):e.jsx(se,{size:12,"aria-hidden":!0}),e.jsx("span",{children:p("tasks.completed.toggle",{count:N.length})})]}),w?e.jsx("ul",{className:"task-list","data-testid":"task-completed-list",children:N.map(h=>e.jsx(W,{depth:0,handlers:v,task:h},h.line))}):null]}):null]})})]})},Ve=({tasksFile:t,workspacePath:n,open:l,onClose:a,workers:c,onSelectOwner:o,connectionStale:r})=>{const u=x.useMemo(()=>c?.length?c.map(s=>s.name):void 0,[c]);return e.jsx(Ie,{content:t.content,hasConflict:t.hasConflict,onClose:a,onContentChange:t.onChange,onKeepLocal:t.onKeepLocal,onReload:t.onReload,onSave:t.onSave,onToggleTaskLine:s=>{t.toggleTaskAtLine(s).catch(M("tasks.toggleTaskAtLine"))},onAppendTask:s=>{t.appendTask(s).catch(M("tasks.appendTask"))},onAppendSubtask:(s,i)=>{t.appendSubtask(s,i).catch(M("tasks.appendSubtask"))},onUpdateTaskText:(s,i)=>{t.updateTaskText(s,i).catch(M("tasks.updateTaskText"))},onDeleteTask:s=>{t.deleteTask(s).catch(M("tasks.deleteTask"))},open:l,workspacePath:n,...u?{knownWorkerNames:u}:{},...o?{onSelectOwner:o}:{},...r!==void 0?{connectionStale:r}:{}})};export{Ve as WorkspaceTaskDrawer};