@tt-a1i/hive 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.en.md +15 -6
- package/README.md +26 -4
- package/dist/src/cli/hive.d.ts +4 -0
- package/dist/src/cli/hive.js +25 -3
- package/dist/src/cli/team.d.ts +8 -1
- package/dist/src/cli/team.js +111 -11
- package/dist/src/server/action-center-summary.d.ts +193 -0
- package/dist/src/server/action-center-summary.js +188 -0
- package/dist/src/server/agent-command-resolver.d.ts +6 -0
- package/dist/src/server/agent-command-resolver.js +16 -0
- package/dist/src/server/agent-manager.js +11 -1
- package/dist/src/server/agent-run-starter.js +47 -6
- package/dist/src/server/agent-runtime-types.d.ts +4 -0
- package/dist/src/server/agent-startup-instructions.d.ts +4 -0
- package/dist/src/server/agent-startup-instructions.js +35 -9
- package/dist/src/server/agent-stdin-dispatcher.js +17 -9
- package/dist/src/server/diagnostics-support-bundle.d.ts +288 -0
- package/dist/src/server/diagnostics-support-bundle.js +179 -0
- package/dist/src/server/dispatch-ledger-store.d.ts +4 -1
- package/dist/src/server/dispatch-ledger-store.js +46 -6
- package/dist/src/server/hive-envelope-escape.d.ts +2 -0
- package/dist/src/server/hive-envelope-escape.js +2 -0
- package/dist/src/server/hive-team-guidance.d.ts +1 -1
- package/dist/src/server/hive-team-guidance.js +67 -25
- package/dist/src/server/message-log-store.d.ts +1 -1
- package/dist/src/server/post-start-input-writer.js +8 -2
- package/dist/src/server/preset-launch-support.d.ts +2 -0
- package/dist/src/server/preset-launch-support.js +65 -2
- package/dist/src/server/protocol-event-stats.d.ts +39 -0
- package/dist/src/server/protocol-event-stats.js +84 -0
- package/dist/src/server/recovery-summary.js +19 -14
- package/dist/src/server/role-template-store.d.ts +1 -1
- package/dist/src/server/role-templates.d.ts +1 -0
- package/dist/src/server/role-templates.js +43 -29
- package/dist/src/server/routes-action-center.d.ts +2 -0
- package/dist/src/server/routes-action-center.js +37 -0
- package/dist/src/server/routes-diagnostics.d.ts +2 -0
- package/dist/src/server/routes-diagnostics.js +17 -0
- package/dist/src/server/routes-scenarios.d.ts +25 -0
- package/dist/src/server/routes-scenarios.js +89 -0
- package/dist/src/server/routes-settings.js +2 -11
- package/dist/src/server/routes-team-memory.js +52 -0
- package/dist/src/server/routes-team.js +40 -20
- package/dist/src/server/routes-workspace-memory-dreams.js +8 -0
- package/dist/src/server/routes-workspace-uploads.d.ts +2 -0
- package/dist/src/server/routes-workspace-uploads.js +154 -0
- package/dist/src/server/routes-workspaces.js +29 -3
- package/dist/src/server/routes.js +8 -0
- package/dist/src/server/runtime-message-builders.d.ts +0 -1
- package/dist/src/server/runtime-message-builders.js +0 -8
- package/dist/src/server/runtime-store-contract.d.ts +15 -0
- package/dist/src/server/runtime-store-dream.d.ts +14 -1
- package/dist/src/server/runtime-store-dream.js +49 -1
- package/dist/src/server/runtime-store-helpers.d.ts +7 -0
- package/dist/src/server/runtime-store-helpers.js +85 -22
- package/dist/src/server/runtime-store-worker-mutations.d.ts +11 -0
- package/dist/src/server/runtime-store-worker-mutations.js +46 -0
- package/dist/src/server/runtime-store-workflows.js +10 -6
- package/dist/src/server/runtime-store.js +34 -42
- package/dist/src/server/scenario-presets.d.ts +25 -0
- package/dist/src/server/scenario-presets.js +35 -0
- package/dist/src/server/sentinel-heartbeat.d.ts +30 -0
- package/dist/src/server/sentinel-heartbeat.js +145 -0
- package/dist/src/server/spawn-cli-resolver.d.ts +37 -0
- package/dist/src/server/spawn-cli-resolver.js +70 -0
- package/dist/src/server/spawn-worker-defaults.d.ts +13 -0
- package/dist/src/server/spawn-worker-defaults.js +45 -0
- package/dist/src/server/sqlite-schema-v32.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v32.js +17 -0
- package/dist/src/server/sqlite-schema-v33.d.ts +3 -0
- package/dist/src/server/sqlite-schema-v33.js +18 -0
- package/dist/src/server/sqlite-schema-v34.d.ts +11 -0
- package/dist/src/server/sqlite-schema-v34.js +19 -0
- package/dist/src/server/sqlite-schema-v35.d.ts +3 -0
- package/dist/src/server/sqlite-schema-v35.js +23 -0
- package/dist/src/server/sqlite-schema.d.ts +1 -1
- package/dist/src/server/sqlite-schema.js +35 -1
- package/dist/src/server/system-message.d.ts +5 -2
- package/dist/src/server/system-message.js +5 -2
- package/dist/src/server/tasks-file-watcher.d.ts +8 -0
- package/dist/src/server/tasks-file-watcher.js +31 -2
- package/dist/src/server/team-authz.d.ts +9 -1
- package/dist/src/server/team-authz.js +24 -0
- package/dist/src/server/team-list-serializer.d.ts +2 -2
- package/dist/src/server/team-list-serializer.js +2 -1
- package/dist/src/server/team-memory-digest.js +4 -4
- package/dist/src/server/team-memory-dream-applier.js +24 -3
- package/dist/src/server/team-memory-dream-prompt.d.ts +13 -0
- package/dist/src/server/team-memory-dream-prompt.js +91 -0
- package/dist/src/server/team-memory-dream-run-store.d.ts +2 -0
- package/dist/src/server/team-memory-dream-run-store.js +14 -4
- package/dist/src/server/team-memory-dream-runner.d.ts +2 -21
- package/dist/src/server/team-memory-dream-runner.js +3 -148
- package/dist/src/server/team-memory-dream-store.d.ts +1 -1
- package/dist/src/server/team-memory-dream-store.js +1 -1
- package/dist/src/server/team-operations.d.ts +18 -2
- package/dist/src/server/team-operations.js +222 -33
- package/dist/src/server/team-recap.d.ts +10 -0
- package/dist/src/server/team-recap.js +73 -0
- package/dist/src/server/terminal-input-profile.js +88 -9
- package/dist/src/server/upload-limits.d.ts +2 -0
- package/dist/src/server/upload-limits.js +2 -0
- package/dist/src/server/workflow-cli-policy.d.ts +7 -2
- package/dist/src/server/workflow-cli-policy.js +15 -3
- package/dist/src/server/workflow-run-store.d.ts +1 -0
- package/dist/src/server/workflow-run-store.js +11 -1
- package/dist/src/server/workflow-runner.d.ts +4 -1
- package/dist/src/server/workflow-runner.js +418 -118
- package/dist/src/server/workflow-script-loader.d.ts +3 -2
- package/dist/src/server/workflow-script-loader.js +161 -0
- package/dist/src/server/workspace-store-contract.d.ts +2 -0
- package/dist/src/server/workspace-store.d.ts +1 -1
- package/dist/src/server/workspace-store.js +40 -30
- package/dist/src/server/workspace-upload-store.d.ts +40 -0
- package/dist/src/server/workspace-upload-store.js +295 -0
- package/dist/src/shared/scenario-presets.d.ts +32 -0
- package/dist/src/shared/scenario-presets.js +69 -0
- package/dist/src/shared/types.d.ts +12 -1
- package/package.json +1 -1
- package/web/dist/assets/AddWorkerDialog-DBLhwb91.js +2 -0
- package/web/dist/assets/AddWorkspaceFlow-cxvhVAsT.js +1 -0
- package/web/dist/assets/FirstRunWizard-DlEPnWWw.js +1 -0
- package/web/dist/assets/{MarketplaceDrawer-Dd8WIA8T.js → MarketplaceDrawer-CfSiRi8e.js} +11 -11
- package/web/dist/assets/TaskGraphDrawer-C2JufcPs.js +1 -0
- package/web/dist/assets/WhatsNewDialog-vP7buLos.js +1 -0
- package/web/dist/assets/WorkerModal-CSorwcdP.js +1 -0
- package/web/dist/assets/{WorkflowsDrawer-Bjf4olbR.js → WorkflowsDrawer-BXS3w9Uq.js} +1 -1
- package/web/dist/assets/WorkspaceMemoryDrawer-D71ivohr.js +1 -0
- package/web/dist/assets/{WorkspaceTaskDrawer-BIWwISvA.js → WorkspaceTaskDrawer-CGCTSHKa.js} +1 -1
- package/web/dist/assets/index-BcwN8cCw.js +79 -0
- package/web/dist/assets/index-StXTPHls.css +1 -0
- package/web/dist/assets/{search-Bk2HQvO7.js → search-BZw4T67h.js} +1 -1
- package/web/dist/assets/{square-terminal-D93m9hfY.js → square-terminal-B7E57In1.js} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/sw.js +1 -1
- package/dist/src/server/env-sync-message.d.ts +0 -9
- package/dist/src/server/env-sync-message.js +0 -29
- package/web/dist/assets/AddWorkerDialog-CbV75qUX.js +0 -2
- package/web/dist/assets/AddWorkspaceFlow-CwV-7wPx.js +0 -1
- package/web/dist/assets/FirstRunWizard-a6PWIK3x.js +0 -1
- package/web/dist/assets/TaskGraphDrawer-Bk5WFIk_.js +0 -1
- package/web/dist/assets/WhatsNewDialog-C2VZaip0.js +0 -1
- package/web/dist/assets/WorkerModal-DucW-9YT.js +0 -1
- package/web/dist/assets/WorkspaceMemoryDrawer-DglCy_5f.js +0 -1
- package/web/dist/assets/index-BAiLYajK.css +0 -1
- package/web/dist/assets/index-BV2k9Dts.js +0 -73
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{c as
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mr(t,e){return Or(t)||Lr(t,e)||Pr(t,e)||Dr()}function Pr(t,e){if(t){if(typeof t=="string")return gn(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)?gn(t,e):void 0}}const Fn=Object.entries,xn=Object.setPrototypeOf,zr=Object.isFrozen,jr=Object.getPrototypeOf,$r=Object.getOwnPropertyDescriptor;let B=Object.freeze,Y=Object.seal,Ce=Object.create,Un=typeof Reflect<"u"&&Reflect,Nt=Un.apply,vt=Un.construct;B||(B=function(e){return e});Y||(Y=function(e){return e});Nt||(Nt=function(e,n){for(var s=arguments.length,r=new Array(s>2?s-2:0),a=2;a<s;a++)r[a-2]=arguments[a];return e.apply(n,r)});vt||(vt=function(e){for(var n=arguments.length,s=new Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];return new e(...s)});const _e=L(Array.prototype.forEach),Fr=L(Array.prototype.lastIndexOf),kn=L(Array.prototype.pop),Ee=L(Array.prototype.push),Ur=L(Array.prototype.splice),H=Array.isArray,je=L(String.prototype.toLowerCase),yt=L(String.prototype.toString),bn=L(String.prototype.match),Re=L(String.prototype.replace),Tn=L(String.prototype.indexOf),Hr=L(String.prototype.trim),Br=L(Number.prototype.toString),Gr=L(Boolean.prototype.toString),wn=typeof BigInt>"u"?null:L(BigInt.prototype.toString),yn=typeof Symbol>"u"?null:L(Symbol.prototype.toString),N=L(Object.prototype.hasOwnProperty),Pe=L(Object.prototype.toString),F=L(RegExp.prototype.test),Ke=Wr(TypeError);function L(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,s=new Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];return Nt(t,e,s)}}function Wr(t){return function(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];return vt(t,n)}}function b(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:je;if(xn&&xn(t,null),!H(e))return t;let s=e.length;for(;s--;){let r=e[s];if(typeof r=="string"){const a=n(r);a!==r&&(zr(e)||(e[s]=a),r=a)}t[r]=!0}return t}function qr(t){for(let e=0;e<t.length;e++)N(t,e)||(t[e]=null);return t}function W(t){const e=Ce(null);for(const s of Fn(t)){var n=Mr(s,2);const r=n[0],a=n[1];N(t,r)&&(H(a)?e[r]=qr(a):a&&typeof a=="object"&&a.constructor===Object?e[r]=W(a):e[r]=a)}return e}function Yr(t){switch(typeof t){case"string":return t;case"number":return Br(t);case"boolean":return Gr(t);case"bigint":return wn?wn(t):"0";case"symbol":return yn?yn(t):"Symbol()";case"undefined":return Pe(t);case"function":case"object":{if(t===null)return Pe(t);const e=t,n=de(e,"toString");if(typeof n=="function"){const s=n(e);return typeof s=="string"?s:Pe(s)}return Pe(t)}default:return Pe(t)}}function de(t,e){for(;t!==null;){const s=$r(t,e);if(s){if(s.get)return L(s.get);if(typeof s.value=="function")return L(s.value)}t=jr(t)}function n(){return null}return n}function Zr(t){try{return F(t,""),!0}catch{return!1}}const An=B(["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"]),At=B(["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"]),St=B(["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"]),Xr=B(["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"]),_t=B(["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"]),Vr=B(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Sn=B(["#text"]),_n=B(["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"]),Et=B(["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"]),En=B(["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"]),Je=B(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Qr=Y(/{{[\w\W]*|^[\w\W]*}}/g),Kr=Y(/<%[\w\W]*|^[\w\W]*%>/g),Jr=Y(/\${[\w\W]*/g),es=Y(/^data-[\-\w.\u00B7-\uFFFF]+$/),ts=Y(/^aria-[\-\w]+$/),Rn=Y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ns=Y(/^(?:\w+script|data):/i),rs=Y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ss=Y(/^html$/i),as=Y(/^[a-z][.\w]*(-[.\w]+)+$/i),Ne={element:1,text:3,progressingInstruction:7,comment:8,document:9},is=function(){return typeof window>"u"?null:window},ls=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let s=null;const r="data-tt-policy-suffix";n&&n.hasAttribute(r)&&(s=n.getAttribute(r));const a="dompurify"+(s?"#"+s:"");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}},Nn=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Hn(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:is();const e=x=>Hn(x);if(e.version="3.4.5",e.removed=[],!t||!t.document||t.document.nodeType!==Ne.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const s=n,r=s.currentScript,a=t.DocumentFragment,l=t.HTMLTemplateElement,o=t.Node,p=t.Element,c=t.NodeFilter,m=t.NamedNodeMap,d=m===void 0?t.NamedNodeMap||t.MozNamedAttrMap:m,k=t.HTMLFormElement,_=t.DOMParser,w=t.trustedTypes,P=p.prototype,q=de(P,"cloneNode"),xe=de(P,"remove"),ke=de(P,"nextSibling"),S=de(P,"childNodes"),te=de(P,"parentNode"),ne=o&&o.prototype?de(o.prototype,"nodeType"):null;if(typeof l=="function"){const x=n.createElement("template");x.content&&x.content.ownerDocument&&(n=x.content.ownerDocument)}let E,Q="";const ae=n,be=ae.implementation,Ue=ae.createNodeIterator,He=ae.createDocumentFragment,Be=ae.getElementsByTagName,Ge=s.importNode;let g=Nn();e.isSupported=typeof Fn=="function"&&typeof te=="function"&&be&&be.createHTMLDocument!==void 0;const v=Qr,ie=Kr,Te=Jr,Jn=es,er=ts,tr=ns,Bt=rs,nr=as;let Gt=Rn,z=null;const Wt=b({},[...An,...At,...St,..._t,...Sn]);let $=null;const qt=b({},[..._n,...Et,...En,...Je]);let C=Object.seal(Ce(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}})),Oe=null,We=null;const le=Object.seal(Ce(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Yt=!0,ot=!0,Zt=!1,Xt=!0,oe=!1,Le=!0,pe=!1,ct=!1,ut=!1,we=!1,qe=!1,Ye=!1,Vt=!0,Qt=!1;const Kt="user-content-";let pt=!0,De=!1,ye={},K=null;const ht=b({},["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 Jt=null;const en=b({},["audio","video","img","source","image","track"]);let dt=null;const tn=b({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ze="http://www.w3.org/1998/Math/MathML",Xe="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xhtml";let Ae=J,ft=!1,mt=null;const rr=b({},[Ze,Xe,J],yt);let gt=b({},["mi","mo","mn","ms","mtext"]),xt=b({},["annotation-xml"]);const sr=b({},["title","style","font","a","script"]);let Me=null;const ar=["application/xhtml+xml","text/html"],ir="text/html";let M=null,Se=null;const lr=n.createElement("form"),nn=function(i){return i instanceof RegExp||i instanceof Function},kt=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Se&&Se===i)return;(!i||typeof i!="object")&&(i={}),i=W(i),Me=ar.indexOf(i.PARSER_MEDIA_TYPE)===-1?ir:i.PARSER_MEDIA_TYPE,M=Me==="application/xhtml+xml"?yt:je,z=N(i,"ALLOWED_TAGS")&&H(i.ALLOWED_TAGS)?b({},i.ALLOWED_TAGS,M):Wt,$=N(i,"ALLOWED_ATTR")&&H(i.ALLOWED_ATTR)?b({},i.ALLOWED_ATTR,M):qt,mt=N(i,"ALLOWED_NAMESPACES")&&H(i.ALLOWED_NAMESPACES)?b({},i.ALLOWED_NAMESPACES,yt):rr,dt=N(i,"ADD_URI_SAFE_ATTR")&&H(i.ADD_URI_SAFE_ATTR)?b(W(tn),i.ADD_URI_SAFE_ATTR,M):tn,Jt=N(i,"ADD_DATA_URI_TAGS")&&H(i.ADD_DATA_URI_TAGS)?b(W(en),i.ADD_DATA_URI_TAGS,M):en,K=N(i,"FORBID_CONTENTS")&&H(i.FORBID_CONTENTS)?b({},i.FORBID_CONTENTS,M):ht,Oe=N(i,"FORBID_TAGS")&&H(i.FORBID_TAGS)?b({},i.FORBID_TAGS,M):W({}),We=N(i,"FORBID_ATTR")&&H(i.FORBID_ATTR)?b({},i.FORBID_ATTR,M):W({}),ye=N(i,"USE_PROFILES")?i.USE_PROFILES&&typeof i.USE_PROFILES=="object"?W(i.USE_PROFILES):i.USE_PROFILES:!1,Yt=i.ALLOW_ARIA_ATTR!==!1,ot=i.ALLOW_DATA_ATTR!==!1,Zt=i.ALLOW_UNKNOWN_PROTOCOLS||!1,Xt=i.ALLOW_SELF_CLOSE_IN_ATTR!==!1,oe=i.SAFE_FOR_TEMPLATES||!1,Le=i.SAFE_FOR_XML!==!1,pe=i.WHOLE_DOCUMENT||!1,we=i.RETURN_DOM||!1,qe=i.RETURN_DOM_FRAGMENT||!1,Ye=i.RETURN_TRUSTED_TYPE||!1,ut=i.FORCE_BODY||!1,Vt=i.SANITIZE_DOM!==!1,Qt=i.SANITIZE_NAMED_PROPS||!1,pt=i.KEEP_CONTENT!==!1,De=i.IN_PLACE||!1,Gt=Zr(i.ALLOWED_URI_REGEXP)?i.ALLOWED_URI_REGEXP:Rn,Ae=typeof i.NAMESPACE=="string"?i.NAMESPACE:J,gt=N(i,"MATHML_TEXT_INTEGRATION_POINTS")&&i.MATHML_TEXT_INTEGRATION_POINTS&&typeof i.MATHML_TEXT_INTEGRATION_POINTS=="object"?W(i.MATHML_TEXT_INTEGRATION_POINTS):b({},["mi","mo","mn","ms","mtext"]),xt=N(i,"HTML_INTEGRATION_POINTS")&&i.HTML_INTEGRATION_POINTS&&typeof i.HTML_INTEGRATION_POINTS=="object"?W(i.HTML_INTEGRATION_POINTS):b({},["annotation-xml"]);const u=N(i,"CUSTOM_ELEMENT_HANDLING")&&i.CUSTOM_ELEMENT_HANDLING&&typeof i.CUSTOM_ELEMENT_HANDLING=="object"?W(i.CUSTOM_ELEMENT_HANDLING):Ce(null);if(C=Ce(null),N(u,"tagNameCheck")&&nn(u.tagNameCheck)&&(C.tagNameCheck=u.tagNameCheck),N(u,"attributeNameCheck")&&nn(u.attributeNameCheck)&&(C.attributeNameCheck=u.attributeNameCheck),N(u,"allowCustomizedBuiltInElements")&&typeof u.allowCustomizedBuiltInElements=="boolean"&&(C.allowCustomizedBuiltInElements=u.allowCustomizedBuiltInElements),oe&&(ot=!1),qe&&(we=!0),ye&&(z=b({},Sn),$=Ce(null),ye.html===!0&&(b(z,An),b($,_n)),ye.svg===!0&&(b(z,At),b($,Et),b($,Je)),ye.svgFilters===!0&&(b(z,St),b($,Et),b($,Je)),ye.mathMl===!0&&(b(z,_t),b($,En),b($,Je))),le.tagCheck=null,le.attributeCheck=null,N(i,"ADD_TAGS")&&(typeof i.ADD_TAGS=="function"?le.tagCheck=i.ADD_TAGS:H(i.ADD_TAGS)&&(z===Wt&&(z=W(z)),b(z,i.ADD_TAGS,M))),N(i,"ADD_ATTR")&&(typeof i.ADD_ATTR=="function"?le.attributeCheck=i.ADD_ATTR:H(i.ADD_ATTR)&&($===qt&&($=W($)),b($,i.ADD_ATTR,M))),N(i,"ADD_URI_SAFE_ATTR")&&H(i.ADD_URI_SAFE_ATTR)&&b(dt,i.ADD_URI_SAFE_ATTR,M),N(i,"FORBID_CONTENTS")&&H(i.FORBID_CONTENTS)&&(K===ht&&(K=W(K)),b(K,i.FORBID_CONTENTS,M)),N(i,"ADD_FORBID_CONTENTS")&&H(i.ADD_FORBID_CONTENTS)&&(K===ht&&(K=W(K)),b(K,i.ADD_FORBID_CONTENTS,M)),pt&&(z["#text"]=!0),pe&&b(z,["html","head","body"]),z.table&&(b(z,["tbody"]),delete Oe.tbody),i.TRUSTED_TYPES_POLICY){if(typeof i.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ke('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof i.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ke('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=i.TRUSTED_TYPES_POLICY,Q=E.createHTML("")}else E===void 0&&(E=ls(w,r)),E!==null&&typeof Q=="string"&&(Q=E.createHTML(""));B&&B(i),Se=i},rn=b({},[...At,...St,...Xr]),sn=b({},[..._t,...Vr]),or=function(i){let u=te(i);(!u||!u.tagName)&&(u={namespaceURI:Ae,tagName:"template"});const f=je(i.tagName),T=je(u.tagName);return mt[i.namespaceURI]?i.namespaceURI===Xe?u.namespaceURI===J?f==="svg":u.namespaceURI===Ze?f==="svg"&&(T==="annotation-xml"||gt[T]):!!rn[f]:i.namespaceURI===Ze?u.namespaceURI===J?f==="math":u.namespaceURI===Xe?f==="math"&&xt[T]:!!sn[f]:i.namespaceURI===J?u.namespaceURI===Xe&&!xt[T]||u.namespaceURI===Ze&&!gt[T]?!1:!sn[f]&&(sr[f]||!rn[f]):!!(Me==="application/xhtml+xml"&&mt[i.namespaceURI]):!1},Z=function(i){Ee(e.removed,{element:i});try{te(i).removeChild(i)}catch{xe(i)}},he=function(i,u){try{Ee(e.removed,{attribute:u.getAttributeNode(i),from:u})}catch{Ee(e.removed,{attribute:null,from:u})}if(u.removeAttribute(i),i==="is")if(we||qe)try{Z(u)}catch{}else try{u.setAttribute(i,"")}catch{}},an=function(i){let u=null,f=null;if(ut)i="<remove></remove>"+i;else{const O=bn(i,/^[\r\n\t ]+/);f=O&&O[0]}Me==="application/xhtml+xml"&&Ae===J&&(i='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+i+"</body></html>");const T=E?E.createHTML(i):i;if(Ae===J)try{u=new _().parseFromString(T,Me)}catch{}if(!u||!u.documentElement){u=be.createDocument(Ae,"template",null);try{u.documentElement.innerHTML=ft?Q:T}catch{}}const I=u.body||u.documentElement;return i&&f&&I.insertBefore(n.createTextNode(f),I.childNodes[0]||null),Ae===J?Be.call(u,pe?"html":"body")[0]:pe?u.documentElement:I},ln=function(i){return Ue.call(i.ownerDocument||i,i,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},on=function(i){i.normalize();const u=Ue.call(i.ownerDocument||i,i,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let f=u.nextNode();for(;f;){let T=f.data;_e([v,ie,Te],I=>{T=Re(T,I," ")}),f.data=T,f=u.nextNode()}},bt=function(i){return i instanceof k&&(typeof i.nodeName!="string"||typeof i.textContent!="string"||typeof i.removeChild!="function"||!(i.attributes instanceof d)||typeof i.removeAttribute!="function"||typeof i.setAttribute!="function"||typeof i.namespaceURI!="string"||typeof i.insertBefore!="function"||typeof i.hasChildNodes!="function")},Ve=function(i){if(!ne||typeof i!="object"||i===null)return!1;try{return typeof ne(i)=="number"}catch{return!1}};function re(x,i,u){_e(x,f=>{f.call(e,i,u,Se)})}const cn=function(i){let u=null;if(re(g.beforeSanitizeElements,i,null),bt(i))return Z(i),!0;const f=M(i.nodeName);if(re(g.uponSanitizeElement,i,{tagName:f,allowedTags:z}),Le&&i.hasChildNodes()&&!Ve(i.firstElementChild)&&F(/<[/\w!]/g,i.innerHTML)&&F(/<[/\w!]/g,i.textContent)||Le&&i.namespaceURI===J&&f==="style"&&Ve(i.firstElementChild)||i.nodeType===Ne.progressingInstruction||Le&&i.nodeType===Ne.comment&&F(/<[/\w]/g,i.data))return Z(i),!0;if(Oe[f]||!(le.tagCheck instanceof Function&&le.tagCheck(f))&&!z[f]){if(!Oe[f]&&pn(f)&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,f)||C.tagNameCheck instanceof Function&&C.tagNameCheck(f)))return!1;if(pt&&!K[f]){const T=te(i)||i.parentNode,I=S(i)||i.childNodes;if(I&&T){const O=I.length;for(let G=O-1;G>=0;--G){const ce=q(I[G],!0);T.insertBefore(ce,ke(i))}}}return Z(i),!0}return i instanceof p&&!or(i)||(f==="noscript"||f==="noembed"||f==="noframes")&&F(/<\/no(script|embed|frames)/i,i.innerHTML)?(Z(i),!0):(oe&&i.nodeType===Ne.text&&(u=i.textContent,_e([v,ie,Te],T=>{u=Re(u,T," ")}),i.textContent!==u&&(Ee(e.removed,{element:i.cloneNode()}),i.textContent=u)),re(g.afterSanitizeElements,i,null),!1)},un=function(i,u,f){if(We[u]||Vt&&(u==="id"||u==="name")&&(f in n||f in lr))return!1;const T=$[u]||le.attributeCheck instanceof Function&&le.attributeCheck(u,i);if(!(ot&&!We[u]&&F(Jn,u))){if(!(Yt&&F(er,u))){if(!T||We[u]){if(!(pn(i)&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,i)||C.tagNameCheck instanceof Function&&C.tagNameCheck(i))&&(C.attributeNameCheck instanceof RegExp&&F(C.attributeNameCheck,u)||C.attributeNameCheck instanceof Function&&C.attributeNameCheck(u,i))||u==="is"&&C.allowCustomizedBuiltInElements&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,f)||C.tagNameCheck instanceof Function&&C.tagNameCheck(f))))return!1}else if(!dt[u]){if(!F(Gt,Re(f,Bt,""))){if(!((u==="src"||u==="xlink:href"||u==="href")&&i!=="script"&&Tn(f,"data:")===0&&Jt[i])){if(!(Zt&&!F(tr,Re(f,Bt,"")))){if(f)return!1}}}}}}return!0},cr=b({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pn=function(i){return!cr[je(i)]&&F(nr,i)},hn=function(i){re(g.beforeSanitizeAttributes,i,null);const u=i.attributes;if(!u||bt(i))return;const f={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$,forceKeepAttr:void 0};let T=u.length;for(;T--;){const I=u[T],O=I.name,G=I.namespaceURI,ce=I.value,se=M(O),wt=ce;let j=O==="value"?wt:Hr(wt);if(f.attrName=se,f.attrValue=j,f.keepAttr=!0,f.forceKeepAttr=void 0,re(g.uponSanitizeAttribute,i,f),j=f.attrValue,Qt&&(se==="id"||se==="name")&&Tn(j,Kt)!==0&&(he(O,i),j=Kt+j),Le&&F(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,j)){he(O,i);continue}if(se==="attributename"&&bn(j,"href")){he(O,i);continue}if(f.forceKeepAttr)continue;if(!f.keepAttr){he(O,i);continue}if(!Xt&&F(/\/>/i,j)){he(O,i);continue}oe&&_e([v,ie,Te],fn=>{j=Re(j,fn," ")});const dn=M(i.nodeName);if(!un(dn,se,j)){he(O,i);continue}if(E&&typeof w=="object"&&typeof w.getAttributeType=="function"&&!G)switch(w.getAttributeType(dn,se)){case"TrustedHTML":{j=E.createHTML(j);break}case"TrustedScriptURL":{j=E.createScriptURL(j);break}}if(j!==wt)try{G?i.setAttributeNS(G,O,j):i.setAttribute(O,j),bt(i)?Z(i):kn(e.removed)}catch{he(O,i)}}re(g.afterSanitizeAttributes,i,null)},Tt=function(i){let u=null;const f=ln(i);for(re(g.beforeSanitizeShadowDOM,i,null);u=f.nextNode();)re(g.uponSanitizeShadowNode,u,null),cn(u),hn(u),u.content instanceof a&&Tt(u.content);re(g.afterSanitizeShadowDOM,i,null)},Qe=function(i){if(i.nodeType===Ne.element&&i.shadowRoot instanceof a){const T=i.shadowRoot;Qe(T),Tt(T)}const u=i.childNodes;if(!u)return;const f=[];_e(u,T=>{Ee(f,T)});for(const T of f)Qe(T)};return e.sanitize=function(x){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=null,f=null,T=null,I=null;if(ft=!x,ft&&(x="<!-->"),typeof x!="string"&&!Ve(x)&&(x=Yr(x),typeof x!="string"))throw Ke("dirty is not a string, aborting");if(!e.isSupported)return x;if(ct||kt(i),e.removed=[],typeof x=="string"&&(De=!1),De){const ce=x.nodeName;if(typeof ce=="string"){const se=M(ce);if(!z[se]||Oe[se])throw Ke("root node is forbidden and cannot be sanitized in-place")}Qe(x)}else if(Ve(x))u=an("<!---->"),f=u.ownerDocument.importNode(x,!0),f.nodeType===Ne.element&&f.nodeName==="BODY"||f.nodeName==="HTML"?u=f:u.appendChild(f),Qe(f);else{if(!we&&!oe&&!pe&&x.indexOf("<")===-1)return E&&Ye?E.createHTML(x):x;if(u=an(x),!u)return we?null:Ye?Q:""}u&&ut&&Z(u.firstChild);const O=ln(De?x:u);for(;T=O.nextNode();)cn(T),hn(T),T.content instanceof a&&Tt(T.content);if(De)return oe&&on(x),x;if(we){if(oe&&on(u),qe)for(I=He.call(u.ownerDocument);u.firstChild;)I.appendChild(u.firstChild);else I=u;return($.shadowroot||$.shadowrootmode)&&(I=Ge.call(s,I,!0)),I}let G=pe?u.outerHTML:u.innerHTML;return pe&&z["!doctype"]&&u.ownerDocument&&u.ownerDocument.doctype&&u.ownerDocument.doctype.name&&F(ss,u.ownerDocument.doctype.name)&&(G="<!DOCTYPE "+u.ownerDocument.doctype.name+`>
|
|
3
|
-
`+G),oe&&_e([v,ie,Te],ce=>{G=Re(G,ce," ")}),E&&Ye?E.createHTML(G):G},e.setConfig=function(){let x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kt(x),ct=!0},e.clearConfig=function(){Se=null,ct=!1},e.isValidAttribute=function(x,i,u){Se||kt({});const f=M(x),T=M(i);return un(f,T,u)},e.addHook=function(x,i){typeof i=="function"&&Ee(g[x],i)},e.removeHook=function(x,i){if(i!==void 0){const u
|
|
4
|
-
]`).replace("lheading",
|
|
1
|
+
import{c as cr,r as R,u as at,j as h,am as ur,an as pr,ao as hr,i as dr,R as fr,P as mr,O as gr,k as xr,m as kr,a0 as br,z as Tr,X as wr,ap as yr}from"./index-BcwN8cCw.js";import{S as mn}from"./search-BZw4T67h.js";const Ar=[["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"}]],Sr=cr("bookmark",Ar),_r={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:"测试"}},Er=t=>t.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase()),Lt=(t,e)=>{const n=_r[t];return n?n[e]:Er(t)},Rr=["engineering","testing","product","design","project-management","integrations","specialized","marketing","paid-media","sales","finance","legal","hr","supply-chain","support","academic","game-development","spatial-computing","misc"],Nr=(t,e)=>{if(e!=="zh")return t;const n=new Map(Rr.map((s,r)=>[s,r]));return[...t].sort((s,r)=>{const a=n.get(s)??Number.POSITIVE_INFINITY,l=n.get(r)??Number.POSITIVE_INFINITY;return a!==l?a-l:s.localeCompare(r)})},vr=({agent:t,selected:e,imported:n,onSelect:s})=>{const{t:r}=at(),a=R.useCallback(()=>s(t.path),[t.path,s]),l=t.vibe?.trim()?t.vibe:t.description,o=r("marketplace.importedBadge"),p=t.displayName??t.name,c=t.nameOverflows?p:void 0;return h.jsxs("button",{type:"button",onClick:a,"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-2 rounded-xl border p-3.5 text-left outline-none transition-all duration-200 ease-out focus-visible:ring-2 focus-visible:ring-offset-0 active:scale-[0.98]",style:{"--tw-ring-color":"color-mix(in oklab, var(--accent) 55%, transparent)"},children:[h.jsxs("div",{className:"flex items-start justify-between gap-2",children:[h.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[h.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-bright bg-3 text-base shadow-sm",children:t.emoji||"🤖"}),h.jsx("div",{className:"flex min-w-0 flex-col",children:h.jsx("span",{className:"truncate text-sm font-semibold text-pri",title:c,children:p})})]}),n?h.jsxs("span",{role:"status","aria-label":o,title:o,"data-testid":"marketplace-agent-imported",className:"flex shrink-0 items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[9px] font-semibold tracking-wide uppercase transition-colors",style:{background:e?"var(--accent)":"color-mix(in oklab, var(--accent) 15%, transparent)",color:e?"#ffffff":"var(--accent)",border:e?"none":"1px solid color-mix(in oklab, var(--accent) 25%, transparent)"},children:[h.jsx(Sr,{size:9,"aria-hidden":!0}),h.jsx("span",{className:"max-sm:hidden",children:o})]}):null]}),h.jsx("p",{className:"line-clamp-2 text-xs leading-normal text-sec mt-1",children:l})]})},Cr=R.memo(vr);function gn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,s=Array(e);n<e;n++)s[n]=t[n];return s}function Ir(t){if(Array.isArray(t))return t}function Or(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var s,r,a,l,o=[],p=!0,c=!1;try{if(a=(n=n.call(t)).next,e!==0)for(;!(p=(s=a.call(n)).done)&&(o.push(s.value),o.length!==e);p=!0);}catch(m){c=!0,r=m}finally{try{if(!p&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw r}}return o}}function Lr(){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 Dr(t,e){return Ir(t)||Or(t,e)||Mr(t,e)||Lr()}function Mr(t,e){if(t){if(typeof t=="string")return gn(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)?gn(t,e):void 0}}const $n=Object.entries,xn=Object.setPrototypeOf,Pr=Object.isFrozen,zr=Object.getPrototypeOf,jr=Object.getOwnPropertyDescriptor;let H=Object.freeze,Y=Object.seal,Ce=Object.create,Fn=typeof Reflect<"u"&&Reflect,Nt=Fn.apply,vt=Fn.construct;H||(H=function(e){return e});Y||(Y=function(e){return e});Nt||(Nt=function(e,n){for(var s=arguments.length,r=new Array(s>2?s-2:0),a=2;a<s;a++)r[a-2]=arguments[a];return e.apply(n,r)});vt||(vt=function(e){for(var n=arguments.length,s=new Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];return new e(...s)});const _e=L(Array.prototype.forEach),$r=L(Array.prototype.lastIndexOf),kn=L(Array.prototype.pop),Ee=L(Array.prototype.push),Fr=L(Array.prototype.splice),B=Array.isArray,je=L(String.prototype.toLowerCase),yt=L(String.prototype.toString),bn=L(String.prototype.match),Re=L(String.prototype.replace),Tn=L(String.prototype.indexOf),Ur=L(String.prototype.trim),Br=L(Number.prototype.toString),Hr=L(Boolean.prototype.toString),wn=typeof BigInt>"u"?null:L(BigInt.prototype.toString),yn=typeof Symbol>"u"?null:L(Symbol.prototype.toString),N=L(Object.prototype.hasOwnProperty),Pe=L(Object.prototype.toString),F=L(RegExp.prototype.test),Ke=Gr(TypeError);function L(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,s=new Array(n>1?n-1:0),r=1;r<n;r++)s[r-1]=arguments[r];return Nt(t,e,s)}}function Gr(t){return function(){for(var e=arguments.length,n=new Array(e),s=0;s<e;s++)n[s]=arguments[s];return vt(t,n)}}function b(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:je;if(xn&&xn(t,null),!B(e))return t;let s=e.length;for(;s--;){let r=e[s];if(typeof r=="string"){const a=n(r);a!==r&&(Pr(e)||(e[s]=a),r=a)}t[r]=!0}return t}function Wr(t){for(let e=0;e<t.length;e++)N(t,e)||(t[e]=null);return t}function W(t){const e=Ce(null);for(const s of $n(t)){var n=Dr(s,2);const r=n[0],a=n[1];N(t,r)&&(B(a)?e[r]=Wr(a):a&&typeof a=="object"&&a.constructor===Object?e[r]=W(a):e[r]=a)}return e}function qr(t){switch(typeof t){case"string":return t;case"number":return Br(t);case"boolean":return Hr(t);case"bigint":return wn?wn(t):"0";case"symbol":return yn?yn(t):"Symbol()";case"undefined":return Pe(t);case"function":case"object":{if(t===null)return Pe(t);const e=t,n=de(e,"toString");if(typeof n=="function"){const s=n(e);return typeof s=="string"?s:Pe(s)}return Pe(t)}default:return Pe(t)}}function de(t,e){for(;t!==null;){const s=jr(t,e);if(s){if(s.get)return L(s.get);if(typeof s.value=="function")return L(s.value)}t=zr(t)}function n(){return null}return n}function Yr(t){try{return F(t,""),!0}catch{return!1}}const An=H(["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"]),At=H(["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"]),St=H(["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"]),Zr=H(["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"]),_t=H(["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"]),Xr=H(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Sn=H(["#text"]),_n=H(["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"]),Et=H(["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"]),En=H(["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"]),Je=H(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Vr=Y(/{{[\w\W]*|^[\w\W]*}}/g),Qr=Y(/<%[\w\W]*|^[\w\W]*%>/g),Kr=Y(/\${[\w\W]*/g),Jr=Y(/^data-[\-\w.\u00B7-\uFFFF]+$/),es=Y(/^aria-[\-\w]+$/),Rn=Y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ts=Y(/^(?:\w+script|data):/i),ns=Y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),rs=Y(/^html$/i),ss=Y(/^[a-z][.\w]*(-[.\w]+)+$/i),Ne={element:1,text:3,progressingInstruction:7,comment:8,document:9},as=function(){return typeof window>"u"?null:window},is=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let s=null;const r="data-tt-policy-suffix";n&&n.hasAttribute(r)&&(s=n.getAttribute(r));const a="dompurify"+(s?"#"+s:"");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}},Nn=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Un(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:as();const e=x=>Un(x);if(e.version="3.4.5",e.removed=[],!t||!t.document||t.document.nodeType!==Ne.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const s=n,r=s.currentScript,a=t.DocumentFragment,l=t.HTMLTemplateElement,o=t.Node,p=t.Element,c=t.NodeFilter,m=t.NamedNodeMap,d=m===void 0?t.NamedNodeMap||t.MozNamedAttrMap:m,k=t.HTMLFormElement,_=t.DOMParser,w=t.trustedTypes,P=p.prototype,q=de(P,"cloneNode"),xe=de(P,"remove"),ke=de(P,"nextSibling"),S=de(P,"childNodes"),te=de(P,"parentNode"),ne=o&&o.prototype?de(o.prototype,"nodeType"):null;if(typeof l=="function"){const x=n.createElement("template");x.content&&x.content.ownerDocument&&(n=x.content.ownerDocument)}let E,Q="";const ae=n,be=ae.implementation,Ue=ae.createNodeIterator,Be=ae.createDocumentFragment,He=ae.getElementsByTagName,Ge=s.importNode;let g=Nn();e.isSupported=typeof $n=="function"&&typeof te=="function"&&be&&be.createHTMLDocument!==void 0;const v=Vr,ie=Qr,Te=Kr,Kn=Jr,Jn=es,er=ts,Ht=ns,tr=ss;let Gt=Rn,z=null;const Wt=b({},[...An,...At,...St,..._t,...Sn]);let $=null;const qt=b({},[..._n,...Et,...En,...Je]);let C=Object.seal(Ce(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}})),Oe=null,We=null;const le=Object.seal(Ce(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Yt=!0,ot=!0,Zt=!1,Xt=!0,oe=!1,Le=!0,pe=!1,ct=!1,ut=!1,we=!1,qe=!1,Ye=!1,Vt=!0,Qt=!1;const Kt="user-content-";let pt=!0,De=!1,ye={},K=null;const ht=b({},["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 Jt=null;const en=b({},["audio","video","img","source","image","track"]);let dt=null;const tn=b({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ze="http://www.w3.org/1998/Math/MathML",Xe="http://www.w3.org/2000/svg",J="http://www.w3.org/1999/xhtml";let Ae=J,ft=!1,mt=null;const nr=b({},[Ze,Xe,J],yt);let gt=b({},["mi","mo","mn","ms","mtext"]),xt=b({},["annotation-xml"]);const rr=b({},["title","style","font","a","script"]);let Me=null;const sr=["application/xhtml+xml","text/html"],ar="text/html";let M=null,Se=null;const ir=n.createElement("form"),nn=function(i){return i instanceof RegExp||i instanceof Function},kt=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Se&&Se===i)return;(!i||typeof i!="object")&&(i={}),i=W(i),Me=sr.indexOf(i.PARSER_MEDIA_TYPE)===-1?ar:i.PARSER_MEDIA_TYPE,M=Me==="application/xhtml+xml"?yt:je,z=N(i,"ALLOWED_TAGS")&&B(i.ALLOWED_TAGS)?b({},i.ALLOWED_TAGS,M):Wt,$=N(i,"ALLOWED_ATTR")&&B(i.ALLOWED_ATTR)?b({},i.ALLOWED_ATTR,M):qt,mt=N(i,"ALLOWED_NAMESPACES")&&B(i.ALLOWED_NAMESPACES)?b({},i.ALLOWED_NAMESPACES,yt):nr,dt=N(i,"ADD_URI_SAFE_ATTR")&&B(i.ADD_URI_SAFE_ATTR)?b(W(tn),i.ADD_URI_SAFE_ATTR,M):tn,Jt=N(i,"ADD_DATA_URI_TAGS")&&B(i.ADD_DATA_URI_TAGS)?b(W(en),i.ADD_DATA_URI_TAGS,M):en,K=N(i,"FORBID_CONTENTS")&&B(i.FORBID_CONTENTS)?b({},i.FORBID_CONTENTS,M):ht,Oe=N(i,"FORBID_TAGS")&&B(i.FORBID_TAGS)?b({},i.FORBID_TAGS,M):W({}),We=N(i,"FORBID_ATTR")&&B(i.FORBID_ATTR)?b({},i.FORBID_ATTR,M):W({}),ye=N(i,"USE_PROFILES")?i.USE_PROFILES&&typeof i.USE_PROFILES=="object"?W(i.USE_PROFILES):i.USE_PROFILES:!1,Yt=i.ALLOW_ARIA_ATTR!==!1,ot=i.ALLOW_DATA_ATTR!==!1,Zt=i.ALLOW_UNKNOWN_PROTOCOLS||!1,Xt=i.ALLOW_SELF_CLOSE_IN_ATTR!==!1,oe=i.SAFE_FOR_TEMPLATES||!1,Le=i.SAFE_FOR_XML!==!1,pe=i.WHOLE_DOCUMENT||!1,we=i.RETURN_DOM||!1,qe=i.RETURN_DOM_FRAGMENT||!1,Ye=i.RETURN_TRUSTED_TYPE||!1,ut=i.FORCE_BODY||!1,Vt=i.SANITIZE_DOM!==!1,Qt=i.SANITIZE_NAMED_PROPS||!1,pt=i.KEEP_CONTENT!==!1,De=i.IN_PLACE||!1,Gt=Yr(i.ALLOWED_URI_REGEXP)?i.ALLOWED_URI_REGEXP:Rn,Ae=typeof i.NAMESPACE=="string"?i.NAMESPACE:J,gt=N(i,"MATHML_TEXT_INTEGRATION_POINTS")&&i.MATHML_TEXT_INTEGRATION_POINTS&&typeof i.MATHML_TEXT_INTEGRATION_POINTS=="object"?W(i.MATHML_TEXT_INTEGRATION_POINTS):b({},["mi","mo","mn","ms","mtext"]),xt=N(i,"HTML_INTEGRATION_POINTS")&&i.HTML_INTEGRATION_POINTS&&typeof i.HTML_INTEGRATION_POINTS=="object"?W(i.HTML_INTEGRATION_POINTS):b({},["annotation-xml"]);const u=N(i,"CUSTOM_ELEMENT_HANDLING")&&i.CUSTOM_ELEMENT_HANDLING&&typeof i.CUSTOM_ELEMENT_HANDLING=="object"?W(i.CUSTOM_ELEMENT_HANDLING):Ce(null);if(C=Ce(null),N(u,"tagNameCheck")&&nn(u.tagNameCheck)&&(C.tagNameCheck=u.tagNameCheck),N(u,"attributeNameCheck")&&nn(u.attributeNameCheck)&&(C.attributeNameCheck=u.attributeNameCheck),N(u,"allowCustomizedBuiltInElements")&&typeof u.allowCustomizedBuiltInElements=="boolean"&&(C.allowCustomizedBuiltInElements=u.allowCustomizedBuiltInElements),oe&&(ot=!1),qe&&(we=!0),ye&&(z=b({},Sn),$=Ce(null),ye.html===!0&&(b(z,An),b($,_n)),ye.svg===!0&&(b(z,At),b($,Et),b($,Je)),ye.svgFilters===!0&&(b(z,St),b($,Et),b($,Je)),ye.mathMl===!0&&(b(z,_t),b($,En),b($,Je))),le.tagCheck=null,le.attributeCheck=null,N(i,"ADD_TAGS")&&(typeof i.ADD_TAGS=="function"?le.tagCheck=i.ADD_TAGS:B(i.ADD_TAGS)&&(z===Wt&&(z=W(z)),b(z,i.ADD_TAGS,M))),N(i,"ADD_ATTR")&&(typeof i.ADD_ATTR=="function"?le.attributeCheck=i.ADD_ATTR:B(i.ADD_ATTR)&&($===qt&&($=W($)),b($,i.ADD_ATTR,M))),N(i,"ADD_URI_SAFE_ATTR")&&B(i.ADD_URI_SAFE_ATTR)&&b(dt,i.ADD_URI_SAFE_ATTR,M),N(i,"FORBID_CONTENTS")&&B(i.FORBID_CONTENTS)&&(K===ht&&(K=W(K)),b(K,i.FORBID_CONTENTS,M)),N(i,"ADD_FORBID_CONTENTS")&&B(i.ADD_FORBID_CONTENTS)&&(K===ht&&(K=W(K)),b(K,i.ADD_FORBID_CONTENTS,M)),pt&&(z["#text"]=!0),pe&&b(z,["html","head","body"]),z.table&&(b(z,["tbody"]),delete Oe.tbody),i.TRUSTED_TYPES_POLICY){if(typeof i.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ke('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof i.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ke('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=i.TRUSTED_TYPES_POLICY,Q=E.createHTML("")}else E===void 0&&(E=is(w,r)),E!==null&&typeof Q=="string"&&(Q=E.createHTML(""));H&&H(i),Se=i},rn=b({},[...At,...St,...Zr]),sn=b({},[..._t,...Xr]),lr=function(i){let u=te(i);(!u||!u.tagName)&&(u={namespaceURI:Ae,tagName:"template"});const f=je(i.tagName),T=je(u.tagName);return mt[i.namespaceURI]?i.namespaceURI===Xe?u.namespaceURI===J?f==="svg":u.namespaceURI===Ze?f==="svg"&&(T==="annotation-xml"||gt[T]):!!rn[f]:i.namespaceURI===Ze?u.namespaceURI===J?f==="math":u.namespaceURI===Xe?f==="math"&&xt[T]:!!sn[f]:i.namespaceURI===J?u.namespaceURI===Xe&&!xt[T]||u.namespaceURI===Ze&&!gt[T]?!1:!sn[f]&&(rr[f]||!rn[f]):!!(Me==="application/xhtml+xml"&&mt[i.namespaceURI]):!1},Z=function(i){Ee(e.removed,{element:i});try{te(i).removeChild(i)}catch{xe(i)}},he=function(i,u){try{Ee(e.removed,{attribute:u.getAttributeNode(i),from:u})}catch{Ee(e.removed,{attribute:null,from:u})}if(u.removeAttribute(i),i==="is")if(we||qe)try{Z(u)}catch{}else try{u.setAttribute(i,"")}catch{}},an=function(i){let u=null,f=null;if(ut)i="<remove></remove>"+i;else{const O=bn(i,/^[\r\n\t ]+/);f=O&&O[0]}Me==="application/xhtml+xml"&&Ae===J&&(i='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+i+"</body></html>");const T=E?E.createHTML(i):i;if(Ae===J)try{u=new _().parseFromString(T,Me)}catch{}if(!u||!u.documentElement){u=be.createDocument(Ae,"template",null);try{u.documentElement.innerHTML=ft?Q:T}catch{}}const I=u.body||u.documentElement;return i&&f&&I.insertBefore(n.createTextNode(f),I.childNodes[0]||null),Ae===J?He.call(u,pe?"html":"body")[0]:pe?u.documentElement:I},ln=function(i){return Ue.call(i.ownerDocument||i,i,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},on=function(i){i.normalize();const u=Ue.call(i.ownerDocument||i,i,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let f=u.nextNode();for(;f;){let T=f.data;_e([v,ie,Te],I=>{T=Re(T,I," ")}),f.data=T,f=u.nextNode()}},bt=function(i){return i instanceof k&&(typeof i.nodeName!="string"||typeof i.textContent!="string"||typeof i.removeChild!="function"||!(i.attributes instanceof d)||typeof i.removeAttribute!="function"||typeof i.setAttribute!="function"||typeof i.namespaceURI!="string"||typeof i.insertBefore!="function"||typeof i.hasChildNodes!="function")},Ve=function(i){if(!ne||typeof i!="object"||i===null)return!1;try{return typeof ne(i)=="number"}catch{return!1}};function re(x,i,u){_e(x,f=>{f.call(e,i,u,Se)})}const cn=function(i){let u=null;if(re(g.beforeSanitizeElements,i,null),bt(i))return Z(i),!0;const f=M(i.nodeName);if(re(g.uponSanitizeElement,i,{tagName:f,allowedTags:z}),Le&&i.hasChildNodes()&&!Ve(i.firstElementChild)&&F(/<[/\w!]/g,i.innerHTML)&&F(/<[/\w!]/g,i.textContent)||Le&&i.namespaceURI===J&&f==="style"&&Ve(i.firstElementChild)||i.nodeType===Ne.progressingInstruction||Le&&i.nodeType===Ne.comment&&F(/<[/\w]/g,i.data))return Z(i),!0;if(Oe[f]||!(le.tagCheck instanceof Function&&le.tagCheck(f))&&!z[f]){if(!Oe[f]&&pn(f)&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,f)||C.tagNameCheck instanceof Function&&C.tagNameCheck(f)))return!1;if(pt&&!K[f]){const T=te(i)||i.parentNode,I=S(i)||i.childNodes;if(I&&T){const O=I.length;for(let G=O-1;G>=0;--G){const ce=q(I[G],!0);T.insertBefore(ce,ke(i))}}}return Z(i),!0}return i instanceof p&&!lr(i)||(f==="noscript"||f==="noembed"||f==="noframes")&&F(/<\/no(script|embed|frames)/i,i.innerHTML)?(Z(i),!0):(oe&&i.nodeType===Ne.text&&(u=i.textContent,_e([v,ie,Te],T=>{u=Re(u,T," ")}),i.textContent!==u&&(Ee(e.removed,{element:i.cloneNode()}),i.textContent=u)),re(g.afterSanitizeElements,i,null),!1)},un=function(i,u,f){if(We[u]||Vt&&(u==="id"||u==="name")&&(f in n||f in ir))return!1;const T=$[u]||le.attributeCheck instanceof Function&&le.attributeCheck(u,i);if(!(ot&&!We[u]&&F(Kn,u))){if(!(Yt&&F(Jn,u))){if(!T||We[u]){if(!(pn(i)&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,i)||C.tagNameCheck instanceof Function&&C.tagNameCheck(i))&&(C.attributeNameCheck instanceof RegExp&&F(C.attributeNameCheck,u)||C.attributeNameCheck instanceof Function&&C.attributeNameCheck(u,i))||u==="is"&&C.allowCustomizedBuiltInElements&&(C.tagNameCheck instanceof RegExp&&F(C.tagNameCheck,f)||C.tagNameCheck instanceof Function&&C.tagNameCheck(f))))return!1}else if(!dt[u]){if(!F(Gt,Re(f,Ht,""))){if(!((u==="src"||u==="xlink:href"||u==="href")&&i!=="script"&&Tn(f,"data:")===0&&Jt[i])){if(!(Zt&&!F(er,Re(f,Ht,"")))){if(f)return!1}}}}}}return!0},or=b({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),pn=function(i){return!or[je(i)]&&F(tr,i)},hn=function(i){re(g.beforeSanitizeAttributes,i,null);const u=i.attributes;if(!u||bt(i))return;const f={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$,forceKeepAttr:void 0};let T=u.length;for(;T--;){const I=u[T],O=I.name,G=I.namespaceURI,ce=I.value,se=M(O),wt=ce;let j=O==="value"?wt:Ur(wt);if(f.attrName=se,f.attrValue=j,f.keepAttr=!0,f.forceKeepAttr=void 0,re(g.uponSanitizeAttribute,i,f),j=f.attrValue,Qt&&(se==="id"||se==="name")&&Tn(j,Kt)!==0&&(he(O,i),j=Kt+j),Le&&F(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,j)){he(O,i);continue}if(se==="attributename"&&bn(j,"href")){he(O,i);continue}if(f.forceKeepAttr)continue;if(!f.keepAttr){he(O,i);continue}if(!Xt&&F(/\/>/i,j)){he(O,i);continue}oe&&_e([v,ie,Te],fn=>{j=Re(j,fn," ")});const dn=M(i.nodeName);if(!un(dn,se,j)){he(O,i);continue}if(E&&typeof w=="object"&&typeof w.getAttributeType=="function"&&!G)switch(w.getAttributeType(dn,se)){case"TrustedHTML":{j=E.createHTML(j);break}case"TrustedScriptURL":{j=E.createScriptURL(j);break}}if(j!==wt)try{G?i.setAttributeNS(G,O,j):i.setAttribute(O,j),bt(i)?Z(i):kn(e.removed)}catch{he(O,i)}}re(g.afterSanitizeAttributes,i,null)},Tt=function(i){let u=null;const f=ln(i);for(re(g.beforeSanitizeShadowDOM,i,null);u=f.nextNode();)re(g.uponSanitizeShadowNode,u,null),cn(u),hn(u),u.content instanceof a&&Tt(u.content);re(g.afterSanitizeShadowDOM,i,null)},Qe=function(i){if(i.nodeType===Ne.element&&i.shadowRoot instanceof a){const T=i.shadowRoot;Qe(T),Tt(T)}const u=i.childNodes;if(!u)return;const f=[];_e(u,T=>{Ee(f,T)});for(const T of f)Qe(T)};return e.sanitize=function(x){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=null,f=null,T=null,I=null;if(ft=!x,ft&&(x="<!-->"),typeof x!="string"&&!Ve(x)&&(x=qr(x),typeof x!="string"))throw Ke("dirty is not a string, aborting");if(!e.isSupported)return x;if(ct||kt(i),e.removed=[],typeof x=="string"&&(De=!1),De){const ce=x.nodeName;if(typeof ce=="string"){const se=M(ce);if(!z[se]||Oe[se])throw Ke("root node is forbidden and cannot be sanitized in-place")}Qe(x)}else if(Ve(x))u=an("<!---->"),f=u.ownerDocument.importNode(x,!0),f.nodeType===Ne.element&&f.nodeName==="BODY"||f.nodeName==="HTML"?u=f:u.appendChild(f),Qe(f);else{if(!we&&!oe&&!pe&&x.indexOf("<")===-1)return E&&Ye?E.createHTML(x):x;if(u=an(x),!u)return we?null:Ye?Q:""}u&&ut&&Z(u.firstChild);const O=ln(De?x:u);for(;T=O.nextNode();)cn(T),hn(T),T.content instanceof a&&Tt(T.content);if(De)return oe&&on(x),x;if(we){if(oe&&on(u),qe)for(I=Be.call(u.ownerDocument);u.firstChild;)I.appendChild(u.firstChild);else I=u;return($.shadowroot||$.shadowrootmode)&&(I=Ge.call(s,I,!0)),I}let G=pe?u.outerHTML:u.innerHTML;return pe&&z["!doctype"]&&u.ownerDocument&&u.ownerDocument.doctype&&u.ownerDocument.doctype.name&&F(rs,u.ownerDocument.doctype.name)&&(G="<!DOCTYPE "+u.ownerDocument.doctype.name+`>
|
|
3
|
+
`+G),oe&&_e([v,ie,Te],ce=>{G=Re(G,ce," ")}),E&&Ye?E.createHTML(G):G},e.setConfig=function(){let x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kt(x),ct=!0},e.clearConfig=function(){Se=null,ct=!1},e.isValidAttribute=function(x,i,u){Se||kt({});const f=M(x),T=M(i);return un(f,T,u)},e.addHook=function(x,i){typeof i=="function"&&Ee(g[x],i)},e.removeHook=function(x,i){if(i!==void 0){const u=$r(g[x],i);return u===-1?void 0:Fr(g[x],u,1)[0]}return kn(g[x])},e.removeHooks=function(x){g[x]=[]},e.removeAllHooks=function(){g=Nn()},e}var D=Un(),ls=D;D.sanitize.bind(D);D.isSupported;D.addHook.bind(D);D.removeHook.bind(D);D.removeHooks.bind(D);D.removeAllHooks.bind(D);D.setConfig.bind(D);D.clearConfig.bind(D);D.isValidAttribute.bind(D);D.version;D.removed;function Dt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ge=Dt();function Bn(t){ge=t}var fe={exec:()=>null};function ve(t){let e=[];return n=>{let s=Math.max(0,Math.min(3,n-1)),r=e[s];return r||(r=t(s),e[s]=r),r}}function y(t,e=""){let n=typeof t=="string"?t:t.source,s={replace:(r,a)=>{let l=typeof a=="string"?a:a.source;return l=l.replace(U.caret,"$1"),n=n.replace(r,l),s},getRegex:()=>new RegExp(n,e)};return s}var os=((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:ve(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:ve(t=>new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:ve(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:ve(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:ve(t=>new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:ve(t=>new RegExp(`^ {0,${t}}>`))},cs=/^(?:[ \t]*(?:\n|$))+/,us=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ps=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Fe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,hs=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Mt=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Hn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Gn=y(Hn).replace(/bull/g,Mt).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(),ds=y(Hn).replace(/bull/g,Mt).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(),Pt=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,fs=/^[^\n]+/,zt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,ms=y(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",zt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gs=y(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Mt).getRegex(),it="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",jt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,xs=y("^ {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",jt).replace("tag",it).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Wn=y(Pt).replace("hr",Fe).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",it).getRegex(),ks=y(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Wn).getRegex(),$t={blockquote:ks,code:us,def:ms,fences:ps,heading:hs,hr:Fe,html:xs,lheading:Gn,list:gs,newline:cs,paragraph:Wn,table:fe,text:fs},vn=y("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Fe).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",it).getRegex(),bs={...$t,lheading:ds,table:vn,paragraph:y(Pt).replace("hr",Fe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",vn).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",it).getRegex()},Ts={...$t,html:y(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",jt).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:fe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:y(Pt).replace("hr",Fe).replace("heading",` *#{1,6} *[^
|
|
4
|
+
]`).replace("lheading",Gn).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ws=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ys=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,qn=/^( {2,}|\\)\n(?!\s*$)/,As=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Ie=/[\p{P}\p{S}]/u,lt=/[\s\p{P}\p{S}]/u,Ft=/[^\s\p{P}\p{S}]/u,Ss=y(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,lt).getRegex(),Yn=/(?!~)[\p{P}\p{S}]/u,_s=/(?!~)[\s\p{P}\p{S}]/u,Es=/(?:[^\s\p{P}\p{S}]|~)/u,Rs=y(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",os?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Zn=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Ns=y(Zn,"u").replace(/punct/g,Ie).getRegex(),vs=y(Zn,"u").replace(/punct/g,Yn).getRegex(),Xn="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Cs=y(Xn,"gu").replace(/notPunctSpace/g,Ft).replace(/punctSpace/g,lt).replace(/punct/g,Ie).getRegex(),Is=y(Xn,"gu").replace(/notPunctSpace/g,Es).replace(/punctSpace/g,_s).replace(/punct/g,Yn).getRegex(),Os=y("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ft).replace(/punctSpace/g,lt).replace(/punct/g,Ie).getRegex(),Ls=y(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Ie).getRegex(),Ds="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Ms=y(Ds,"gu").replace(/notPunctSpace/g,Ft).replace(/punctSpace/g,lt).replace(/punct/g,Ie).getRegex(),Ps=y(/\\(punct)/,"gu").replace(/punct/g,Ie).getRegex(),zs=y(/^<(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(),js=y(jt).replace("(?:-->|$)","-->").getRegex(),$s=y("^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",js).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),nt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Fs=y(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",nt).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Vn=y(/^!?\[(label)\]\[(ref)\]/).replace("label",nt).replace("ref",zt).getRegex(),Qn=y(/^!?\[(ref)\](?:\[\])?/).replace("ref",zt).getRegex(),Us=y("reflink|nolink(?!\\()","g").replace("reflink",Vn).replace("nolink",Qn).getRegex(),Cn=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ut={_backpedal:fe,anyPunctuation:Ps,autolink:zs,blockSkip:Rs,br:qn,code:ys,del:fe,delLDelim:fe,delRDelim:fe,emStrongLDelim:Ns,emStrongRDelimAst:Cs,emStrongRDelimUnd:Os,escape:ws,link:Fs,nolink:Qn,punctuation:Ss,reflink:Vn,reflinkSearch:Us,tag:$s,text:As,url:fe},Bs={...Ut,link:y(/^!?\[(label)\]\((.*?)\)/).replace("label",nt).getRegex(),reflink:y(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",nt).getRegex()},Ct={...Ut,emStrongRDelimAst:Is,emStrongLDelim:vs,delLDelim:Ls,delRDelim:Ms,url:y(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Cn).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:y(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Cn).getRegex()},Hs={...Ct,br:y(qn).replace("{2,}","*").getRegex(),text:y(Ct.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},et={normal:$t,gfm:bs,pedantic:Ts},ze={normal:Ut,gfm:Ct,breaks:Hs,pedantic:Bs},Gs={"&":"&","<":"<",">":">",'"':""","'":"'"},In=t=>Gs[t];function ee(t,e){if(e){if(U.escapeTest.test(t))return t.replace(U.escapeReplace,In)}else if(U.escapeTestNoEncode.test(t))return t.replace(U.escapeReplaceNoEncode,In);return t}function On(t){try{t=encodeURI(t).replace(U.percentDecode,"%")}catch{return null}return t}function Ln(t,e){let n=t.replace(U.findPipe,(a,l,o)=>{let p=!1,c=l;for(;--c>=0&&o[c]==="\\";)p=!p;return p?"|":" |"}),s=n.split(U.splitPipe),r=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;r<s.length;r++)s[r]=s[r].trim().replace(U.slashPipe,"|");return s}function ue(t,e,n){let s=t.length;if(s===0)return"";let r=0;for(;r<s&&t.charAt(s-r-1)===e;)r++;return t.slice(0,s-r)}function Dn(t){let e=t.split(`
|
|
5
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
|
|
6
|
+
`)}function Ws(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let s=0;s<t.length;s++)if(t[s]==="\\")s++;else if(t[s]===e[0])n++;else if(t[s]===e[1]&&(n--,n<0))return s;return n>0?-2:-1}function qs(t,e=0){let n=e,s="";for(let r of t)if(r===" "){let a=4-n%4;s+=" ".repeat(a),n+=a}else s+=r,n++;return s}function Mn(t,e,n,s,r){let a=e.href,l=e.title||null,o=t[1].replace(r.other.outputLinkReplace,"$1");s.state.inLink=!0;let p={type:t[0].charAt(0)==="!"?"image":"link",raw:n,href:a,title:l,text:o,tokens:s.inlineTokens(o)};return s.state.inLink=!1,p}function Ys(t,e,n){let s=t.match(n.other.indentCodeCompensation);if(s===null)return e;let r=s[1];return e.split(`
|
|
7
7
|
`).map(a=>{let l=a.match(n.other.beginningSpace);if(l===null)return a;let[o]=l;return o.length>=r.length?a.slice(r.length):a}).join(`
|
|
8
|
-
`)}var rt=class{options;rules;lexer;constructor(t){this.options=t||ge}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]:Dn(e[0]),s=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:s}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],s=
|
|
8
|
+
`)}var rt=class{options;rules;lexer;constructor(t){this.options=t||ge}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]:Dn(e[0]),s=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:s}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],s=Ys(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:s}}}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 s=ue(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:ue(e[0],`
|
|
9
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:ue(e[0],`
|
|
10
10
|
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=ue(e[0],`
|
|
11
11
|
`).split(`
|
|
@@ -18,7 +18,7 @@ ${m}`:m;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
18
18
|
`),P=this.blockquote(w);a[a.length-1]=P,s=s.substring(0,s.length-_.raw.length)+P.raw,r=r.substring(0,r.length-_.text.length)+P.text;break}else if(k?.type==="list"){let _=k,w=_.raw+`
|
|
19
19
|
`+n.join(`
|
|
20
20
|
`),P=this.list(w);a[a.length-1]=P,s=s.substring(0,s.length-k.raw.length)+P.raw,r=r.substring(0,r.length-_.raw.length)+P.raw,n=w.substring(a.at(-1).raw.length).split(`
|
|
21
|
-
`);continue}}return{type:"blockquote",raw:s,tokens:a,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),s=n.length>1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let a=this.rules.other.listItemRegex(n),l=!1;for(;t;){let p=!1,c="",m="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;c=e[0],t=t.substring(c.length);let d=
|
|
21
|
+
`);continue}}return{type:"blockquote",raw:s,tokens:a,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),s=n.length>1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let a=this.rules.other.listItemRegex(n),l=!1;for(;t;){let p=!1,c="",m="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;c=e[0],t=t.substring(c.length);let d=qs(e[2].split(`
|
|
22
22
|
`,1)[0],e[1].length),k=t.split(`
|
|
23
23
|
`,1)[0],_=!d.trim(),w=0;if(this.options.pedantic?(w=2,m=d.trimStart()):_?w=e[1].length+1:(w=d.search(this.rules.other.nonSpaceChar),w=w>4?1:w,m=d.slice(w),w+=e[1].length),_&&this.rules.other.blankLine.test(k)&&(c+=k+`
|
|
24
24
|
`,t=t.substring(k.length+1),p=!0),!p){let P=this.rules.other.nextBulletRegex(w),q=this.rules.other.hrRegex(w),xe=this.rules.other.fencesBeginRegex(w),ke=this.rules.other.headingBeginRegex(w),S=this.rules.other.htmlBeginRegex(w),te=this.rules.other.blockquoteBeginRegex(w);for(;t;){let ne=t.split(`
|
|
@@ -30,7 +30,7 @@ ${m}`:m;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
30
30
|
`):[],a={type:"table",raw:ue(e[0],`
|
|
31
31
|
`),header:[],align:[],rows:[]};if(n.length===s.length){for(let l of s)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 r)a.rows.push(Ln(l,a.header.length).map((o,p)=>({text:o,tokens:this.lexer.inline(o),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:ue(e[0],`
|
|
32
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=ue(n.slice(0,-1),"\\");if((n.length-a.length)%2===0)return}else{let a=
|
|
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=ue(n.slice(0,-1),"\\");if((n.length-a.length)%2===0)return}else{let a=Ws(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 s=e[2],r="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(s);a&&(s=a[1],r=a[3])}else r=e[3]?e[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Mn(e,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.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 s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=e[s.toLowerCase()];if(!r){let a=n[0].charAt(0);return{type:"text",raw:a,text:a}}return Mn(n,r,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let s=this.rules.inline.emStrongLDelim.exec(t);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!n||this.rules.inline.punctuation.exec(n))){let r=[...s[0]].length-1,a,l,o=r,p=0,c=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,e=e.slice(-1*t.length+r);(s=c.exec(e))!==null;){if(a=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!a)continue;if(l=[...a].length,s[3]||s[4]){o+=l;continue}else if((s[5]||s[6])&&r%3&&!((r+l)%3)){p+=l;continue}if(o-=l,o>0)continue;l=Math.min(l,l+o+p);let m=[...s[0]][0].length,d=t.slice(0,r+s.index+m+l);if(Math.min(r,l)%2){let _=d.slice(1,-1);return{type:"em",raw:d,text:_,tokens:this.lexer.inlineTokens(_)}}let k=d.slice(2,-2);return{type:"strong",raw:d,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," "),s=this.rules.other.nonSpaceChar.test(n),r=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&r&&(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 s=this.rules.inline.delLDelim.exec(t);if(s&&(!s[1]||!n||this.rules.inline.punctuation.exec(n))){let r=[...s[0]].length-1,a,l,o=r,p=this.rules.inline.delRDelim;for(p.lastIndex=0,e=e.slice(-1*t.length+r);(s=p.exec(e))!==null;){if(a=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!a||(l=[...a].length,l!==r))continue;if(s[3]||s[4]){o+=l;continue}if(o-=l,o>0)continue;l=Math.min(l,l+o);let c=[...s[0]][0].length,m=t.slice(0,r+s.index+c+l),d=m.slice(r,-r);return{type:"del",raw:m,text:d,tokens:this.lexer.inlineTokens(d)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,s;return e[2]==="@"?(n=e[1],s="mailto:"+n):(n=e[1],s=n),{type:"link",raw:e[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,s;if(e[2]==="@")n=e[0],s="mailto:"+n;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(r!==e[0]);n=e[0],e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:n,href:s,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}}}},X=class It{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ge,this.options.tokenizer=this.options.tokenizer||new rt,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:et.normal,inline:ze.normal};this.options.pedantic?(n.block=et.pedantic,n.inline=ze.pedantic):this.options.gfm&&(n.block=et.gfm,this.options.breaks?n.inline=ze.breaks:n.inline=ze.gfm),this.tokenizer.rules=n}static get rules(){return{block:et,inline:ze}}static lex(e,n){return new It(n).lex(e)}static lexInline(e,n){return new It(n).inlineTokens(e)}lex(e){e=e.replace(U.carriageReturn,`
|
|
34
34
|
`),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let s=this.inlineQueue[n];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],s=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(U.tabCharGlobal," ").replace(U.spaceLine,""));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let a;if(this.options.extensions?.block?.some(o=>(a=o.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 o=n.at(-1);a.raw.length===1&&o!==void 0?o.raw+=`
|
|
35
35
|
`:n.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let o=n.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(`
|
|
36
36
|
`)?"":`
|
|
@@ -62,6 +62,6 @@ ${this.parser.parse(t)}</blockquote>
|
|
|
62
62
|
`}tablerow({text:t}){return`<tr>
|
|
63
63
|
${t}</tr>
|
|
64
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>${ee(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 s=this.parser.parseInline(n),r=On(t);if(r===null)return s;t=r;let a='<a href="'+t+'"';return e&&(a+=' title="'+ee(e)+'"'),a+=">"+s+"</a>",a}image({href:t,title:e,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let r=On(t);if(r===null)return ee(n);t=r;let a=`<img src="${t}" alt="${ee(n)}"`;return e&&(a+=` title="${ee(e)}"`),a+=">",a}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:ee(t.text)}},
|
|
66
|
-
Please report this to https://github.com/markedjs/marked.`,t){let s="<p>An error occurred:</p><pre>"+ee(n.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(n);throw n}}},me=new
|
|
67
|
-
${g.description}`.toLowerCase()})):[],[S]),ne=R.useMemo(()=>{const g=new Map;if(!S)return g;for(const v of S.agents)g.set(v.path,v);return g},[S]),E=R.useMemo(()=>{if(!S)return{};const g={};for(const v of S.agents)g[v.category]=(g[v.category]??0)+1;return g},[S]),Q=R.useMemo(()=>{if(!S)return[];const g=q?S.categories:S.categories.filter(v=>tt.has(v));return
|
|
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>${ee(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 s=this.parser.parseInline(n),r=On(t);if(r===null)return s;t=r;let a='<a href="'+t+'"';return e&&(a+=' title="'+ee(e)+'"'),a+=">"+s+"</a>",a}image({href:t,title:e,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let r=On(t);if(r===null)return ee(n);t=r;let a=`<img src="${t}" alt="${ee(n)}"`;return e&&(a+=` title="${ee(e)}"`),a+=">",a}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:ee(t.text)}},Bt=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}},V=class Ot{options;renderer;textRenderer;constructor(e){this.options=e||ge,this.options.renderer=this.options.renderer||new st,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Bt}static parse(e,n){return new Ot(n).parse(e)}static parseInline(e,n){return new Ot(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let s=0;s<e.length;s++){let r=e[s];if(this.options.extensions?.renderers?.[r.type]){let l=r,o=this.options.extensions.renderers[l.type].call({parser:this},l);if(o!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){n+=o||"";continue}}let a=r;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 s="";for(let r=0;r<e.length;r++){let a=e[r];if(this.options.extensions?.renderers?.[a.type]){let o=this.options.extensions.renderers[a.type].call({parser:this},a);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=o||"";continue}}let l=a;switch(l.type){case"escape":{s+=n.text(l);break}case"html":{s+=n.html(l);break}case"link":{s+=n.link(l);break}case"image":{s+=n.image(l);break}case"checkbox":{s+=n.checkbox(l);break}case"strong":{s+=n.strong(l);break}case"em":{s+=n.em(l);break}case"codespan":{s+=n.codespan(l);break}case"br":{s+=n.br(l);break}case"del":{s+=n.del(l);break}case"text":{s+=n.text(l);break}default:{let o='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return s}},$e=class{options;block;constructor(t){this.options=t||ge}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?X.lex:X.lexInline}provideParser(t=this.block){return t?V.parse:V.parseInline}},Zs=class{defaults=Dt();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=V;Renderer=st;TextRenderer=Bt;Lexer=X;Tokenizer=rt;Hooks=$e;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let s of t)switch(n=n.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)n=n.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let l of a)n=n.concat(this.walkTokens(l.tokens,e));break}case"list":{let r=s;n=n.concat(this.walkTokens(r.items,e));break}default:{let r=s;this.defaults.extensions?.childTokens?.[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let l=r[a].flat(1/0);n=n.concat(this.walkTokens(l,e))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let a=e.renderers[r.name];a?e.renderers[r.name]=function(...l){let o=r.renderer.apply(this,l);return o===!1&&(o=a.apply(this,l)),o}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[r.level];a?a.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),s.extensions=e),n.renderer){let r=this.defaults.renderer||new st(this.defaults);for(let a in n.renderer){if(!(a in r))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let l=a,o=n.renderer[l],p=r[l];r[l]=(...c)=>{let m=o.apply(r,c);return m===!1&&(m=p.apply(r,c)),m||""}}s.renderer=r}if(n.tokenizer){let r=this.defaults.tokenizer||new rt(this.defaults);for(let a in n.tokenizer){if(!(a in r))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let l=a,o=n.tokenizer[l],p=r[l];r[l]=(...c)=>{let m=o.apply(r,c);return m===!1&&(m=p.apply(r,c)),m}}s.tokenizer=r}if(n.hooks){let r=this.defaults.hooks||new $e;for(let a in n.hooks){if(!(a in r))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let l=a,o=n.hooks[l],p=r[l];$e.passThroughHooks.has(a)?r[l]=c=>{if(this.defaults.async&&$e.passThroughHooksRespectAsync.has(a))return(async()=>{let d=await o.call(r,c);return p.call(r,d)})();let m=o.call(r,c);return p.call(r,m)}:r[l]=(...c)=>{if(this.defaults.async)return(async()=>{let d=await o.apply(r,c);return d===!1&&(d=await p.apply(r,c)),d})();let m=o.apply(r,c);return m===!1&&(m=p.apply(r,c)),m}}s.hooks=r}if(n.walkTokens){let r=this.defaults.walkTokens,a=n.walkTokens;s.walkTokens=function(l){let o=[];return o.push(a.call(this,l)),r&&(o=o.concat(r.call(this,l))),o}}this.defaults={...this.defaults,...s}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return X.lex(t,e??this.defaults)}parser(t,e){return V.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let s={...n},r={...this.defaults,...s},a=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&s.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(r.hooks&&(r.hooks.options=r,r.hooks.block=t),r.async)return(async()=>{let l=r.hooks?await r.hooks.preprocess(e):e,o=await(r.hooks?await r.hooks.provideLexer(t):t?X.lex:X.lexInline)(l,r),p=r.hooks?await r.hooks.processAllTokens(o):o;r.walkTokens&&await Promise.all(this.walkTokens(p,r.walkTokens));let c=await(r.hooks?await r.hooks.provideParser(t):t?V.parse:V.parseInline)(p,r);return r.hooks?await r.hooks.postprocess(c):c})().catch(a);try{r.hooks&&(e=r.hooks.preprocess(e));let l=(r.hooks?r.hooks.provideLexer(t):t?X.lex:X.lexInline)(e,r);r.hooks&&(l=r.hooks.processAllTokens(l)),r.walkTokens&&this.walkTokens(l,r.walkTokens);let o=(r.hooks?r.hooks.provideParser(t):t?V.parse:V.parseInline)(l,r);return r.hooks&&(o=r.hooks.postprocess(o)),o}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 s="<p>An error occurred:</p><pre>"+ee(n.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(n);throw n}}},me=new Zs;function A(t,e){return me.parse(t,e)}A.options=A.setOptions=function(t){return me.setOptions(t),A.defaults=me.defaults,Bn(A.defaults),A};A.getDefaults=Dt;A.defaults=ge;A.use=function(...t){return me.use(...t),A.defaults=me.defaults,Bn(A.defaults),A};A.walkTokens=function(t,e){return me.walkTokens(t,e)};A.parseInline=me.parseInline;A.Parser=V;A.parser=V.parse;A.Renderer=st;A.TextRenderer=Bt;A.Lexer=X;A.lexer=X.lex;A.Tokenizer=rt;A.Hooks=$e;A.parse=A;A.options;A.setOptions;A.use;A.walkTokens;A.parseInline;V.parse;X.lex;A.setOptions({breaks:!1,gfm:!0});const Xs=t=>{try{const e=A.parse(t,{async:!1});if(typeof e!="string")throw new Error("marked.parse returned a non-string with async:false");return ls.sanitize(e,{USE_PROFILES:{html:!0},ALLOWED_ATTR:["href","name","target","rel","title","class","id"]})}catch(e){return console.error("Failed to parse marketplace markdown:",e),'<p class="text-ter">Failed to parse agent preview document.</p>'}},Vs=()=>h.jsxs("div",{className:"flex flex-col gap-4 animate-pulse py-2",children:[h.jsx("div",{className:"h-4 bg-3 rounded w-1/3"}),h.jsx("div",{className:"h-3 bg-3 rounded w-3/4"}),h.jsxs("div",{className:"space-y-3 pt-4 border-t border-bright/10",children:[h.jsx("div",{className:"h-3 bg-3 rounded w-full"}),h.jsx("div",{className:"h-3 bg-3 rounded w-5/6"}),h.jsx("div",{className:"h-3 bg-3 rounded w-4/5"}),h.jsx("div",{className:"h-3 bg-3 rounded w-2/3"})]})]}),Pn=({agent:t,sourceRepo:e,loadAgent:n,onImport:s})=>{const{t:r,language:a}=at(),[l,o]=R.useState({status:"loading",detail:null,error:null});R.useEffect(()=>{let m=!1;return o({status:"loading",detail:null,error:null}),n(t.path).then(d=>{m||o({status:"loaded",detail:d,error:null})}).catch(d=>{m||o({status:"error",detail:null,error:d instanceof Error?d.message:"unknown"})}),()=>{m=!0}},[t.path,n]);const p=`https://github.com/${e}/blob/HEAD/${t.path}`,c=R.useMemo(()=>l.status!=="loaded"||!l.detail?null:Xs(l.detail.body),[l]);return h.jsxs("div",{"data-testid":"marketplace-agent-preview",className:"flex h-full flex-col gap-4 border-l px-5 py-4 animate-fade-in",style:{borderColor:"var(--border)"},children:[h.jsxs("header",{className:"flex items-start gap-4",children:[h.jsx("div",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-accent/20 to-accent/5 border border-accent/30 shadow-inner text-2xl shadow-[inset_0_1px_1px_rgba(255,255,255,0.1)]",children:t.emoji||"🤖"}),h.jsxs("div",{className:"flex min-w-0 flex-col gap-1",children:[h.jsx("div",{className:"flex items-center gap-2",children:h.jsx("h3",{className:"min-w-0 break-words text-base font-bold text-pri leading-snug",children:t.displayName??t.name})}),h.jsx("div",{className:"flex flex-wrap items-center gap-2",children:h.jsx("span",{className:"inline-flex items-center rounded bg-3 px-2 py-0.5 text-[9px] font-semibold text-sec uppercase tracking-wider border border-bright/10",children:Lt(t.category,a)})})]})]}),h.jsxs("div",{className:"scroll-y min-h-0 flex-1 rounded-xl px-4 py-3.5 text-xs leading-relaxed",style:{background:"var(--bg-2)"},children:[l.status==="loading"?h.jsx(Vs,{}):null,l.status==="error"?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[h.jsx("p",{className:"text-ter text-sm font-medium",children:r("marketplace.loadFailed")}),h.jsx("p",{className:"text-xs text-sec mt-1 bg-3 px-2 py-1 rounded border border-bright/20 font-mono",children:l.error})]}):null,l.status==="loaded"&&c?h.jsx("div",{className:"marketplace-prose",dangerouslySetInnerHTML:{__html:c}}):null]}),h.jsxs("footer",{className:"flex items-center justify-between gap-4 pt-2 border-t border-bright/10",children:[h.jsxs("a",{href:p,target:"_blank",rel:"noreferrer noopener",className:"inline-flex items-center gap-1.5 text-xs text-sec transition-colors hover:text-pri",children:[r("marketplace.viewSource"),h.jsx(ur,{size:12,"aria-hidden":!0})]}),h.jsx("button",{type:"button",disabled:l.status!=="loaded"||!l.detail,onClick:()=>{l.detail&&s({name:t.name,description:l.detail.body.trim()})},"data-testid":"marketplace-import-button",className:"icon-btn icon-btn--primary px-4 py-2 text-xs font-semibold rounded-lg shadow-md hover:shadow-lg transition-all",children:r("marketplace.importButton")})]})]},t.path)},zn=({label:t,count:e,active:n,onClick:s})=>h.jsxs("button",{type:"button",onClick:s,"data-active":n?"true":"false",className:`marketplace-category-row flex w-full cursor-pointer items-center justify-between gap-2 rounded-lg px-3 py-1.5 text-left text-sm transition-all ${n?"font-semibold text-pri":"text-sec hover:text-pri"}`,children:[h.jsx("div",{className:"flex items-center gap-2 min-w-0",children:h.jsx("span",{className:"truncate",children:t})}),e!==void 0?h.jsx("span",{className:"tabular-nums text-[10px] px-1.5 py-0.5 rounded-full bg-3/40 text-ter border border-bright/10 font-semibold transition-colors",children:e}):null]}),Qs=({categories:t,selected:e,onSelect:n,counts:s,showAll:r,onToggleShowAll:a,hiddenCount:l})=>{const{t:o,language:p}=at(),c=s?Object.values(s).reduce((m,d)=>m+d,0):void 0;return h.jsxs("nav",{className:"flex flex-col gap-1","data-testid":"marketplace-category-tree",children:[h.jsx(zn,{label:o("marketplace.allCategories"),count:c,active:e===null,onClick:()=>n(null)}),t.map(m=>h.jsx(zn,{label:Lt(m,p),count:s?.[m],active:e===m,onClick:()=>n(m)},m)),l>0||r?h.jsx("div",{className:"mt-2 pt-2 border-t border-bright/20",children:h.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-lg px-3 py-1.5 text-left text-xs font-medium text-sec hover:text-pri transition-all",children:r?o("marketplace.showCoreOnly"):o("marketplace.showAllCategories",{count:l})})}):null]})},Ks={status:"idle",data:null,error:null},Js=(t,e)=>{const[n,s]=R.useState(Ks),r=R.useRef(new Map),a=R.useRef(new Map);R.useEffect(()=>{if(!e)return;const o=r.current.get(t);if(o){s({status:"loaded",data:o,error:null});return}s({status:"loading",data:null,error:null});let p=!1;return pr(t).then(c=>{p||(r.current.set(t,c),s({status:"loaded",data:c,error:null}))}).catch(c=>{p||s({status:"error",data:null,error:c instanceof Error?c.message:"unknown"})}),()=>{p=!0}},[e,t]);const l=R.useCallback(async o=>{const p=`${t}::${o}`,c=a.current.get(p);if(c)return c;const m=await hr(t,o);return a.current.set(p,m),m},[t]);return{manifestState:n,loadAgent:l}},jn="REPO",ea=(t,e)=>{const n=t("marketplace.sourceLabel",{repo:jn}),[s,r=""]=n.split(jn);return h.jsxs(h.Fragment,{children:[s,h.jsx("span",{className:"mono",children:e}),r]})},tt=new Set(["engineering","design","product","testing","project-management","specialized","integrations"]),Rt=({active:t,label:e,onClick:n})=>h.jsx("button",{type:"button",onClick:n,"data-active":t?"true":"false",className:"min-h-9 shrink-0 whitespace-nowrap rounded-full border px-3 py-1.5 text-sm",style:{borderColor:t?"transparent":"var(--border)",background:t?"color-mix(in oklab, var(--accent) 16%, transparent)":"var(--bg-2)",color:t?"var(--text-primary)":"var(--text-secondary)"},children:e}),ra=({open:t,onClose:e,onImport:n,importedNames:s})=>{const{t:r,language:a}=at(),l=dr(),{manifestState:o,loadAgent:p}=Js(a,t),[c,m]=R.useState(null),[d,k]=R.useState(null),[_,w]=R.useState(""),P=R.useDeferredValue(_),[q,xe]=R.useState(!0);R.useEffect(()=>{k(null),m(null),w("")},[a]);const ke=g=>{g||e()},S=o.data,te=R.useMemo(()=>S?S.agents.map(g=>({agent:g,searchText:`${g.name}
|
|
67
|
+
${g.description}`.toLowerCase()})):[],[S]),ne=R.useMemo(()=>{const g=new Map;if(!S)return g;for(const v of S.agents)g.set(v.path,v);return g},[S]),E=R.useMemo(()=>{if(!S)return{};const g={};for(const v of S.agents)g[v.category]=(g[v.category]??0)+1;return g},[S]),Q=R.useMemo(()=>{if(!S)return[];const g=q?S.categories:S.categories.filter(v=>tt.has(v));return Nr(g,a)},[S,q,a]),ae=R.useMemo(()=>S?S.categories.length-Q.length:0,[S,Q]),be=R.useMemo(()=>{const g=P.trim().toLowerCase(),v=[];for(const{agent:ie,searchText:Te}of te){if(c){if(ie.category!==c)continue}else if(!q&&!tt.has(ie.category))continue;(!g||Te.includes(g))&&v.push(ie)}return v},[te,P,c,q]),Ue=R.useCallback(g=>{const v=ne.get(g);v&&k(v)},[ne]),Be=()=>{xe(g=>{const v=!g;return v||(c&&!tt.has(c)&&m(null),d&&!tt.has(d.category)&&k(null)),v})},He=g=>{n(g),k(null),e()},Ge=o.status==="loading"?h.jsx("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:r("marketplace.loading")}):o.status==="error"?h.jsxs("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:[r("marketplace.loadFailed"),": ",o.error]}):be.length===0?h.jsx("div",{className:"flex h-full items-center justify-center text-sm text-ter",children:r("marketplace.empty")}):h.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))"},children:be.map(g=>h.jsx(Cr,{agent:g,selected:d?.path===g.path,imported:s?.has(g.name)??!1,onSelect:Ue},g.path))});return h.jsx(fr,{open:t,onOpenChange:ke,children:h.jsxs(mr,{children:[h.jsx(gr,{"data-testid":"marketplace-overlay",className:"app-overlay fixed inset-0 z-40"}),h.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4 max-md:items-end max-md:p-0",children:h.jsxs(xr,{"data-testid":"marketplace-content","data-mobile":l||void 0,className:`${l?"dialog-slide-up marketplace-sheet":"dialog-scale-pop"} elev-2 pointer-events-auto flex w-full flex-col rounded-lg border max-md:rounded-b-none max-md:rounded-t-xl`,style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)",width:l?"100vw":"min(1280px, calc(100vw - 32px))",height:l?"92dvh":"min(820px, calc(100vh - 48px))"},children:[h.jsxs("header",{className:"flex shrink-0 items-center justify-between gap-4 border-b px-5 py-4 max-md:px-4 max-md:py-3",style:{borderColor:"var(--border)"},children:[h.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[h.jsx(kr,{className:"text-lg font-semibold text-pri",children:r("marketplace.title")}),h.jsx(br,{className:"truncate text-xs text-ter",children:S?ea(r,S.source.repo):" "})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[l?null:h.jsxs("div",{className:"group relative flex w-72 items-center",children:[h.jsx(mn,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 text-ter transition-colors group-focus-within:text-accent"}),h.jsx("input",{type:"search",value:_,onChange:g=>w(g.target.value),placeholder:r("marketplace.searchPlaceholder"),"data-testid":"marketplace-search",className:"input",style:{paddingLeft:"36px",borderRadius:"10px"}})]}),h.jsx(Tr,{asChild:!0,children:h.jsx("button",{type:"button","aria-label":r("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 max-md:h-10 max-md:w-10 max-md:rounded-md transition-all duration-200 hover:scale-105 active:scale-95",style:l?{background:"var(--bg-2)"}:void 0,children:h.jsx(wr,{size:l?18:14,"aria-hidden":!0})})})]})]}),l?h.jsx("div",{className:"shrink-0 border-b px-4 py-2",style:{borderColor:"var(--border)"},children:h.jsxs("div",{className:"group relative flex items-center",children:[h.jsx(mn,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 text-ter transition-colors group-focus-within:text-accent"}),h.jsx("input",{type:"search",value:_,onChange:g=>w(g.target.value),placeholder:r("marketplace.searchPlaceholder"),"data-testid":"marketplace-search",className:"input w-full",style:{paddingLeft:"36px",borderRadius:"10px"}})]})}):null,l?h.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col",children:[h.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 overflow-x-auto border-b px-4 py-2",style:{borderColor:"var(--border)"},"data-testid":"marketplace-category-chips",children:[h.jsx(Rt,{active:c===null,label:r("marketplace.allCategories"),onClick:()=>{m(null),k(null)}}),Q.map(g=>h.jsx(Rt,{active:c===g,label:Lt(g,a),onClick:()=>{m(g),k(null),w("")}},g)),ae>0||q?h.jsx(Rt,{active:!1,label:q?r("marketplace.showCoreOnly"):r("marketplace.showAllCategories",{count:ae}),onClick:Be}):null]}),h.jsx("section",{className:"scroll-y min-h-0 flex-1 px-4 py-3","data-testid":"marketplace-agent-grid",children:Ge},c??"__all__"),d&&S?h.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col animate-slide-in-right",style:{background:"var(--bg-elevated)"},"data-testid":"marketplace-preview-overlay",children:[h.jsxs("button",{type:"button",onClick:()=>k(null),"data-testid":"marketplace-preview-back",className:"flex min-h-11 shrink-0 items-center gap-1.5 border-b px-4 text-sm text-sec",style:{borderColor:"var(--border)"},children:[h.jsx(yr,{size:16,"aria-hidden":!0}),r("marketplace.backToList")]}),h.jsx("div",{className:"min-h-0 flex-1",children:h.jsx(Pn,{agent:d,sourceRepo:S.source.repo,loadAgent:p,onImport:He})})]}):null]}):h.jsxs("div",{className:"flex min-h-0 flex-1 transition-all duration-300 ease-out",style:{background:"var(--bg-elevated)"},children:[h.jsx("aside",{className:"scroll-y min-h-0 w-[200px] shrink-0 border-r px-4 py-4",style:{borderColor:"var(--border)"},children:S?h.jsx(Qs,{categories:Q,selected:c,onSelect:g=>{m(g),k(null),w("")},counts:E,showAll:q,onToggleShowAll:Be,hiddenCount:ae}):null}),h.jsx("section",{className:"scroll-y min-h-0 flex-1 px-5 py-4","data-testid":"marketplace-agent-grid",children:Ge},c??"__all__"),h.jsx("aside",{className:"min-h-0 shrink-0 transition-all duration-300 ease-in-out border-l overflow-hidden",style:{borderColor:"var(--border)",width:d?"380px":"0px",opacity:d?1:0,pointerEvents:d?"auto":"none"},children:d&&S?h.jsx(Pn,{agent:d,sourceRepo:S.source.repo,loadAgent:p,onImport:He}):null})]})]})})]})})};export{ra as MarketplaceDrawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as M,j as e,u as L,a6 as le,a8 as re,i as ie,R as oe,P as ce,O as de,k as ue,r as f,a9 as pe,aa as he,T as S,X as xe,E as me,ab as Q,C as W,b as ee,ac as H,d as ke,ad as fe,x as ge,y as be,ae as je,t as ye}from"./index-BcwN8cCw.js";const we=[["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"}]],I=M("at-sign",we);const ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ne=M("circle",ve);const _e=[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],U=M("corner-down-right",_e);const Te=[["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"}]],Ce=M("file-code",Te);const $e=[["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"}]],ze=M("save",$e),B=s=>{const n=[];let l="",a=0;const c=()=>{l&&(n.push(l),l="")};let r=0;for(;r<s.length;){const i=s.slice(r),o=i.match(/^\*\*([^*]+?)\*\*/);if(o?.[1]){c(),n.push(e.jsx("strong",{children:B(o[1])},a++)),r+=o[0].length;continue}const t=i.match(/^`([^`]+?)`/);if(t?.[1]){c(),n.push(e.jsx("code",{className:"mono",children:t[1]},a++)),r+=t[0].length;continue}const u=i.match(/^\*([^*]+?)\*/);if(u?.[1]){c(),n.push(e.jsx("em",{children:B(u[1])},a++)),r+=u[0].length;continue}l+=s[r],r+=1}return c(),n},Se=({content:s,hasConflict:n,onContentChange:l,onKeepLocal:a,onReload:c,onSave:r})=>{const{t:i}=L(),o=t=>{t.preventDefault(),r()};return e.jsxs("form",{onSubmit:o,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:i("tasks.raw.label")}),e.jsx("span",{className:"mono text-xs text-ter",children:i("tasks.raw.lineCount",{count:s.split(/\r?\n/).length})})]}),e.jsx("textarea",{"aria-label":i("tasks.raw.label"),value:s,onChange:t=>l(t.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(le,{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:i("tasks.raw.conflictTitle")}),e.jsx("p",{className:"mt-1 text-ter",children:i("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}),i("tasks.raw.reload")]}),e.jsx("button",{type:"button",onClick:a,className:"icon-btn",children:i("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(ze,{size:14}),i("tasks.raw.save")]})})]})},O=["#a78bfa","#60a5fa","#5eead4","#86efac","#fde047","#fb923c","#f9a8d4","#fca5a5"],se=s=>{let n=0;for(let l=0;l<s.length;l+=1)n=n*31+s.charCodeAt(l)>>>0;return O[n%O.length]??O[0]},Ee=[{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"}],q=new Set(["owner","assignee","负责","负责人","执行人"]),G=new Set(["status","状态"]),X=new Set(["报告","report","文件","file","path","日志","log","产物"]),De=/^(.*?)\s*\(([^()]+)\)\s*$/,Re=/\s*[·,,;;]\s*/,Me=/^([^::]+)[::]\s*(.+)$/,Le=s=>{for(const{pattern:n,tone:l}of Ee)if(n.test(s))return l;return"neutral"},Ae=s=>s.includes("/")||/^[A-Za-z]:\\/.test(s)||(s.match(/\\/g)?.length??0)>=2?!0:/^[A-Za-z0-9._-]+\.[A-Za-z0-9]+$/.test(s),Pe=s=>{const n=s.match(De);if(!n)return{title:s,meta:[]};const[,l="",a=""]=n;if(!a.trim())return{title:s,meta:[]};const c=a.split(Re).filter(Boolean),r=[];for(const i of c){const o=i.match(Me);if(!o){r.push({kind:"note",value:i.trim()});continue}const t=(o[1]??"").trim(),u=(o[2]??"").trim(),d=t.toLowerCase();q.has(d)||q.has(t)?r.push({kind:"owner",value:u}):G.has(d)||G.has(t)?r.push({kind:"status",value:u,tone:Le(u)}):X.has(d)||X.has(t)||Ae(u)?r.push({kind:"path",label:t,value:u}):r.push({kind:"note",value:`${t}: ${u}`})}return{title:l.trim(),meta:r}},Y=3,Ie=({item:s,handlers:n})=>{if(s.kind==="status")return e.jsx("span",{className:`pill pill--${s.tone}`,"data-testid":"task-meta-status",children:s.value});if(s.kind==="owner"){const a={"--owner-tone":se(s.value)};return n.onSelectOwner?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":"task-meta-owner","data-owner":s.value,onClick:c=>{c.stopPropagation(),n.onSelectOwner?.(s.value)},style:a,children:[e.jsx(I,{size:10,"aria-hidden":!0}),s.value]}):e.jsxs("span",{className:"task-owner","data-testid":"task-meta-owner","data-owner":s.value,style:a,children:[e.jsx(I,{size:10,"aria-hidden":!0}),s.value]})}return s.kind==="path"?e.jsxs("span",{className:"pill pill--neutral mono inline-flex items-center gap-1","data-testid":"task-meta-path",title:`${s.label}: ${s.value}`,children:[e.jsx(Q,{size:10,"aria-hidden":!0}),s.value]}):e.jsx("span",{className:"text-xs text-ter","data-testid":"task-meta-note",children:s.value})},Z=({initial:s,onSubmit:n,onCancel:l,placeholder:a})=>{const[c,r]=f.useState(s),i=()=>{const t=c.trim();if(!t){l();return}n(t)},o=t=>{t.key==="Enter"?(t.preventDefault(),i()):t.key==="Escape"&&(t.preventDefault(),l())};return e.jsx("input",{type:"text",autoFocus:!0,value:c,placeholder:a,onChange:t=>r(t.target.value),onKeyDown:o,onBlur:i,"data-testid":"task-inline-input",className:"task-row__input"})},V=({task:s,handlers:n,depth:l})=>{const{t:a}=L(),c=s.checked?ke:Ne,{title:r,meta:i}=Pe(s.text),[o,t]=f.useState(!1),[u,d]=f.useState(!1),[g,E]=f.useState(!1),[y,v]=f.useState(!1),m=f.useRef(null);f.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const{onToggle:p,onUpdateText:w,onDelete:_,onAppendSubtask:D,onCopyLine:T,onSelectOwner:k,writeDisabled:b=!1}=n,C=!!w&&!b,N=!!_&&!b,A=!!D&&!b,$=!!T,R=!o&&!u&&(C||N||A||$),z=s.children.length,x=fe(s),P=l+1>=Y,K=z>0,te=g?a("tasks.aria.expandSubtasks",{count:z}):a("tasks.aria.collapseSubtasks",{count:z}),ae=k?{onSelectOwner:k}:{};return e.jsxs("li",{className:"task-node","data-testid":`task-line-${s.line}`,children:[e.jsxs("div",{className:"task-row group",children:[l>=Y?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:s.checked,disabled:b,onChange:()=>{b||p(s.line)},className:"sr-only","data-testid":`task-checkbox-${s.line}`,"aria-label":s.text||`task-line-${s.line}`}),e.jsx("span",{className:`task-row__indicator ${s.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:o?e.jsx(Z,{initial:s.text,placeholder:a("tasks.placeholder.editTask"),onSubmit:h=>{t(!1),w?.(s.line,h)},onCancel:()=>t(!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 ${s.checked?"text-ter line-through":"text-pri"}`,children:B(r)}),K?e.jsx("button",{type:"button",className:"task-row__collapse",onClick:h=>{h.stopPropagation(),E(j=>!j)},"data-testid":`task-collapse-${s.line}`,"aria-expanded":!g,"aria-label":te,children:g?e.jsx(ee,{size:12,"aria-hidden":!0}):e.jsx(W,{size:12,"aria-hidden":!0})}):null,x?e.jsxs("span",{className:"task-child-count mono","data-testid":`task-progress-${s.line}`,title:a("tasks.progress.subtaskTitle",{done:x.done,total:x.total}),children:[x.done,"/",x.total]}):null]}),i.length>0||s.mentions.length>0?e.jsxs("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[i.map(h=>e.jsx(Ie,{item:h,handlers:ae},`${s.line}-meta-${h.kind}-${"label"in h?h.label:""}-${h.value}`)),s.mentions.map(h=>{const j=h.replace(/^@/,""),F={"--owner-tone":se(j)};return k?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":`task-mention-${j}`,"data-owner":j,onClick:ne=>{ne.stopPropagation(),k(j)},style:F,children:[e.jsx(I,{size:10,"aria-hidden":!0}),j]},`${s.line}-mention-${h}`):e.jsxs("span",{className:"task-owner","data-testid":`task-mention-${j}`,"data-owner":j,style:F,children:[e.jsx(I,{size:10,"aria-hidden":!0}),j]},`${s.line}-mention-${h}`)})]}):null]})}),R?e.jsxs("div",{className:"task-row__actions pointer-coarse:opacity-100",children:[$?e.jsx(S,{label:a(y?"tasks.action.copied":"tasks.action.copyLine"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>{T?.(s.line),v(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{v(!1),m.current=null},1500)},"data-testid":`task-copy-${s.line}`,"aria-label":a(y?"tasks.aria.copiedTaskLine":"tasks.aria.copyTaskLine"),children:y?e.jsx(ge,{size:12}):e.jsx(be,{size:12})})}):null,C?e.jsx(S,{label:a("tasks.action.edit"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>t(!0),"data-testid":`task-edit-${s.line}`,"aria-label":a("tasks.aria.editTask"),children:e.jsx(je,{size:12})})}):null,A?e.jsx(S,{label:a("tasks.action.addSubtask"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>{E(!1),d(!0)},"data-testid":`task-add-subtask-${s.line}`,"aria-label":a("tasks.aria.addSubtask"),children:e.jsx(U,{size:12})})}):null,N?e.jsx(S,{label:a("tasks.action.delete"),children:e.jsx("button",{type:"button",className:"task-row__action task-row__action--danger pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>_?.(s.line),"data-testid":`task-delete-${s.line}`,"aria-label":a("tasks.aria.deleteTask"),children:e.jsx(ye,{size:12})})}):null]}):null]}),z>0&&!g||u?e.jsxs("ul",{className:`task-children${P?" task-children--deep":""}`,"data-testid":`task-children-${s.line}`,children:[g?null:s.children.map(h=>e.jsx(V,{depth:l+1,handlers:n,task:h},h.line)),u?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(U,{size:12})}),e.jsx(Z,{initial:"",placeholder:a("tasks.placeholder.newSubtask"),onSubmit:h=>{d(!1),D?.(s.line,h)},onCancel:()=>d(!1)})]})}):null]}):null]})},J=({onSubmit:s,disabled:n=!1,variant:l="ghost"})=>{const{t:a}=L(),[c,r]=f.useState(!1),[i,o]=f.useState(""),t=()=>{const d=i.trim();if(!d){r(!1);return}s(d),o("")},u=d=>{d.key==="Enter"?(d.preventDefault(),t()):d.key==="Escape"&&(d.preventDefault(),o(""),r(!1))};return c?e.jsxs("div",{className:"task-add-input",children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-input__icon",children:e.jsx(H,{size:12})}),e.jsx("input",{type:"text",autoFocus:!0,value:i,placeholder:a("tasks.placeholder.newTask"),onChange:d=>o(d.target.value),onKeyDown:u,onBlur:t,"data-testid":"task-add-input",className:"task-add-input__field"})]}):e.jsxs("button",{type:"button",onClick:()=>r(!0),disabled:n,"data-testid":"task-add-toggle",className:`task-add-toggle${l==="primary"?" task-add-toggle--primary":""}`,children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-toggle__icon",children:e.jsx(H,{size:12})}),e.jsx("span",{children:a("tasks.button.addTask")})]})},Ke=s=>{let n=0,l=0;const a=[],c=[],r=o=>{n+=1,o.checked&&(l+=1);for(const t of o.children)r(t)};for(const o of s)o.checked?c.push(o):a.push(o),r(o);const i=n===0?0:Math.round(l/n*100);return{completedTasks:l,completionPercent:i,doneRoots:c,openRoots:a,totalTasks:n}},Oe=({content:s,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,onAppendTask:t,onAppendSubtask:u,onUpdateTaskText:d,onDeleteTask:g,workspacePath:E,knownWorkerNames:y,onSelectOwner:v,connectionStale:m=!1})=>{const{t:p}=L(),[w,_]=f.useState(!1),T={onToggle:o,onCopyLine:x=>{const P=s.split(/\r?\n/)[x];typeof P=="string"&&navigator.clipboard?.writeText(P).catch(K=>{console.error("[hive] swallowed:tasks.copyLine",K)})},...d&&!m?{onUpdateText:d}:{},...g&&!m?{onDelete:g}:{},...u&&!m?{onAppendSubtask:u}:{},...v?{onSelectOwner:v}:{},...m?{writeDisabled:!0}:{}},k=f.useMemo(()=>pe(s,y?{knownWorkerNames:y}:{}),[s,y]),{completedTasks:b,completionPercent:C,doneRoots:N,openRoots:A,totalTasks:$}=f.useMemo(()=>Ke(k),[k]),[R,z]=f.useState(N.length<=3);return e.jsxs("div",{className:"flex h-full min-h-0 flex-col","data-testid":"task-graph-content",children:[e.jsxs("header",{className:"task-drawer__header",children:[e.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",color:"var(--accent)"},children:e.jsx(he,{size:16,"aria-hidden":!0})}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[e.jsx("span",{className:"text-[13px] font-semibold text-pri leading-tight",children:p("tasks.title.todo")}),$>0?e.jsx("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium tabular-nums",style:{background:C===100?"color-mix(in oklab, var(--status-green) 18%, transparent)":"var(--bg-3)",color:C===100?"var(--status-green)":"var(--text-secondary)"},"data-testid":"task-graph-summary",children:e.jsxs("span",{"data-testid":"task-progress-text",children:[b,"/",$]})}):null]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(S,{label:p(w?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx("button",{type:"button",onClick:()=>_(x=>!x),"data-testid":"task-raw-toggle",className:"icon-btn pointer-coarse:min-h-10","aria-label":p(w?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx(Ce,{size:14})})}),l?e.jsx(S,{label:p("tasks.action.closeTodo"),children:e.jsx("button",{type:"button",onClick:l,"aria-label":p("tasks.action.closeTodo"),className:"icon-btn pointer-coarse:min-h-10",children:e.jsx(xe,{size:14})})}):null]})]}),!w&&$>0?e.jsx("div",{"aria-label":p("tasks.aria.progress"),"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":C,className:"task-progress-thin task-drawer__progress","data-testid":"task-progress-bar",role:"progressbar",children:e.jsx("span",{style:{width:`${C}%`}})}):null,e.jsx("div",{className:"scroll-y flex-1 px-3 py-2.5 text-sm",children:w?e.jsx(Se,{content:s,hasConflict:n,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i}):k.length===0?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(me,{icon:e.jsx(Q,{size:20}),title:p("tasks.empty.title"),description:p("tasks.empty.description"),...t?{action:e.jsx(J,{variant:"primary",disabled:m,onSubmit:t})}:{}})}):e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("ul",{className:"task-list","data-testid":"task-graph-list",children:[A.map(x=>e.jsx(V,{depth:0,handlers:T,task:x},x.line)),t?e.jsx("li",{children:e.jsx(J,{disabled:m,onSubmit:t})}):null]}),N.length>0?e.jsxs("div",{className:"mt-2",children:[e.jsxs("button",{type:"button",onClick:()=>z(x=>!x),"aria-expanded":R,"data-testid":"task-completed-toggle",className:"task-completed-toggle pointer-coarse:min-h-10",children:[R?e.jsx(W,{size:11,"aria-hidden":!0}):e.jsx(ee,{size:11,"aria-hidden":!0}),e.jsx("span",{children:p("tasks.completed.toggle",{count:N.length})}),e.jsx("span",{className:"ml-auto rounded-full px-1.5 py-0.5 text-[9px] tabular-nums",style:{background:"var(--bg-3)",color:"var(--text-tertiary)"},children:N.length})]}),R?e.jsx("ul",{className:"task-list mt-1","data-testid":"task-completed-list",children:N.map(x=>e.jsx(V,{depth:0,handlers:T,task:x},x.line))}):null]}):null]})})]})},Ve=({content:s,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,onAppendTask:t,onAppendSubtask:u,onUpdateTaskText:d,onDeleteTask:g,open:E,workspacePath:y,knownWorkerNames:v,onSelectOwner:m,connectionStale:p=!1})=>{const{t:w}=L(),_=ie(),D=k=>{if(k.key!=="Escape")return;const b=k.target?.tagName;b==="INPUT"||b==="TEXTAREA"||(k.preventDefault(),l())},T=`dialog-scale-pop elev-2 task-dialog__content pointer-events-auto flex flex-col rounded-lg border${p?" task-dialog--stale":""}`;return e.jsx(oe,{open:E,onOpenChange:k=>!k&&l(),children:e.jsxs(ce,{children:[e.jsx(de,{"data-testid":"task-graph-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 p-4",children:e.jsx(ue,{"aria-label":w("tasks.aria.drawer"),"data-testid":"task-graph-drawer","data-connection-stale":p||void 0,"data-mobile":_||void 0,onEscapeKeyDown:k=>k.preventDefault(),onKeyDown:D,className:T,style:_?{background:"var(--bg-1)",borderColor:"var(--border-bright)"}:{background:"var(--bg-1)",borderColor:"var(--border-bright)",height:"min(720px, calc(100vh - 64px))",width:"min(640px, calc(100vw - 48px))"},children:e.jsx(Oe,{content:s,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,workspacePath:y,...t?{onAppendTask:t}:{},...u?{onAppendSubtask:u}:{},...d?{onUpdateTaskText:d}:{},...g?{onDeleteTask:g}:{},...v?{knownWorkerNames:v}:{},...m?{onSelectOwner:m}:{},...p?{connectionStale:p}:{}})})})]})})};export{Oe as TaskGraphContent,Ve as TaskGraphDrawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as x,j as e,R as d,P as h,O as m,k as p,H as j,m as v,a0 as f}from"./index-BcwN8cCw.js";const b=({open:r,entries:n,onClose:t})=>{const{t:a,language:i}=x(),c=s=>{s||t()};return e.jsx(d,{open:r,onOpenChange:c,children:e.jsxs(h,{children:[e.jsx(m,{className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:e.jsxs(p,{"aria-label":a("whatsNew.title"),className:"dialog-scale-pop elev-2 pointer-events-auto flex max-h-[calc(100vh-64px)] w-[480px] max-w-[calc(100vw-32px)] flex-col overflow-hidden rounded-lg border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex shrink-0 items-center gap-3 px-6 pt-6",children:[e.jsx("div",{"aria-hidden":!0,className:"flex h-10 w-10 items-center justify-center rounded-lg",style:{background:"color-mix(in oklab, var(--accent) 15%, transparent)",color:"var(--accent)",border:"1px solid color-mix(in oklab, var(--accent) 30%, transparent)"},children:e.jsx(j,{size:20})}),e.jsxs("div",{children:[e.jsx(v,{className:"text-lg font-semibold text-pri",children:a("whatsNew.title")}),e.jsx(f,{className:"text-xs text-ter",children:a("whatsNew.subtitle")})]})]}),e.jsx("div",{className:"scroll-y mx-6 mt-4 flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto pr-3",children:n.map(s=>{const o=i==="zh"?s.zh:s.en;return e.jsxs("section",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-pri",children:a("whatsNew.versionLabel",{version:s.version})}),e.jsx("span",{className:"text-xs text-ter",children:s.date})]}),e.jsx("ul",{className:"flex flex-col gap-1.5",children:o.map(l=>e.jsxs("li",{className:"flex items-start gap-2 text-sm text-sec",children:[e.jsx("span",{"aria-hidden":!0,className:"mt-1.5 h-1 w-1 shrink-0 rounded-full bg-accent"}),e.jsx("span",{children:l})]},l))})]},s.version)})}),e.jsx("div",{className:"flex shrink-0 justify-end border-t px-6 py-5",style:{borderColor:"var(--border)"},children:e.jsx("button",{type:"button",onClick:t,className:"icon-btn icon-btn--primary justify-center",children:a("whatsNew.gotIt")})})]})})]})})};export{b as WhatsNewDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,u as z,i as k,ai as f,j as e,R,P as N,O as C,k as M,m as E,a0 as S,a6 as L,T as D,z as I,X as O,aj as W,q as A,ak as T,al as P}from"./index-BcwN8cCw.js";const _=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"sentinel":return{badgeClass:"role-badge--sentinel",label:"Sentinel"};case"custom":return{badgeClass:"role-badge--custom",label:"Custom"};default:return{badgeClass:"role-badge--custom",label:String(t)}}},y="hive.worker-modal.width",u=480,F=.5,x=t=>{const o=typeof window<"u"?window.innerWidth-24:1200;return Math.min(Math.max(t,u),Math.max(u,o))},g=()=>typeof window>"u"?u:x(Math.round(window.innerWidth*F)),$=()=>{try{const t=localStorage.getItem(y);if(!t)return g();const o=Number.parseInt(t,10);return Number.isFinite(o)?x(o):g()}catch{return g()}},K=()=>{const[t,o]=d.useState(()=>$()),[m,c]=d.useState(!1);d.useEffect(()=>{try{localStorage.setItem(y,String(Math.round(t)))}catch{}},[t]),d.useEffect(()=>{const s=()=>{o(a=>x(a))};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]);const b=d.useCallback(s=>a=>{a.preventDefault();const r=a.clientX,h=t;c(!0);const p=document.body.style.cursor,v=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";const n=i=>{const w=i.clientX-r,j=s==="left"?h-2*w:h+2*w;o(x(j))},l=()=>{c(!1),document.body.style.cursor=p,document.body.style.userSelect=v,document.removeEventListener("pointermove",n),document.removeEventListener("pointerup",l),document.removeEventListener("pointercancel",l)};document.addEventListener("pointermove",n),document.addEventListener("pointerup",l),document.addEventListener("pointercancel",l)},[t]);return{width:t,resizing:m,beginResize:b}},U=({onClose:t,onStart:o,runId:m,startError:c,starting:b,worker:s})=>{const{t:a}=z(),r=k(),h=_(s.role),p=!!m,v=T(p),n=K();d.useLayoutEffect(()=>{if(!r)return;const i=P();return f(!0),()=>f(i)},[r]);const l=i=>{i||t()};return e.jsx(R,{open:!0,onOpenChange:l,children:e.jsxs(N,{children:[e.jsx(C,{"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(M,{"data-testid":"worker-modal","aria-label":a("worker.detail",{name:s.name}),className:"dialog-scale-pop pointer-events-auto relative flex h-screen max-h-screen max-w-full flex-col overflow-hidden","data-mobile":r||void 0,onEscapeKeyDown:i=>i.preventDefault(),style:r?{background:"var(--bg-1)"}:{background:"var(--bg-1)",width:`${n.width}px`},children:[r?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":a("worker.widthResize"),"aria-valuemin":u,"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":a("worker.widthResize"),"aria-valuemin":u,"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(E,{className:"sr-only",children:s.name}),e.jsxs(S,{className:"sr-only",children:[h.label," agent — status ",v.label]}),c?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(L,{size:12,"aria-hidden":!0}),e.jsx("span",{className:"break-words",children:c})]}):null,e.jsxs("div",{className:`relative flex min-h-0 flex-1 flex-col${r?"":" p-3"}`,"data-testid":"worker-modal-terminal-slot",children:[e.jsx(D,{label:a("common.close"),children:e.jsx(I,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":"Close worker detail","data-testid":"worker-modal-close",className:`float-action absolute z-10 ${r?"top-2 right-2":"top-4 right-4"}`,style:r?{minHeight:44,minWidth:44}:void 0,children:e.jsx(O,{size:r?16:14,"aria-hidden":!0})})})}),e.jsx("div",{className:`flex min-h-0 flex-1${r?"":" rounded-lg border"}`,style:{background:"var(--bg-crust)",borderColor:"var(--border)"},children:p?e.jsx("div",{id:`worker-pty-${m}`,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(W,{commandPresetId:s.commandPresetId,workerRole:s.role,size:48}),e.jsx("div",{className:"text-sm text-pri",children:s.name}),e.jsxs("div",{className:"text-xs text-ter",children:[s.status==="stopped"?a("worker.terminalStopped"):a("worker.terminalNotStarted"),a("worker.startAgent")]}),e.jsxs("button",{type:"button",onClick:()=>o(s),disabled:b,className:"icon-btn icon-btn--primary","data-testid":"worker-start-empty",children:[e.jsx(A,{size:12,"aria-hidden":!0})," ",a(b?"common.starting":"common.start")]})]})})]})]})})]})})};export{U as WorkerModal};
|