@loicngr/kobo 1.4.4 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/README.md +2 -2
- package/dist/mcp-server/kobo-tasks-handlers.js +12 -1
- package/dist/mcp-server/kobo-tasks-server.js +14 -2
- package/dist/server/db/index.js +5 -0
- package/dist/server/db/migrations.js +9 -0
- package/dist/server/db/schema.js +2 -0
- package/dist/server/index.js +17 -18
- package/dist/server/routes/dev-server.js +1 -0
- package/dist/server/routes/git.js +1 -0
- package/dist/server/routes/images.js +3 -0
- package/dist/server/routes/notion.js +1 -0
- package/dist/server/routes/settings.js +1 -0
- package/dist/server/routes/workspaces.js +128 -31
- package/dist/server/services/agent-manager.js +32 -8
- package/dist/server/services/dev-server-service.js +7 -2
- package/dist/server/services/image-service.js +2 -1
- package/dist/server/services/notion-service.js +3 -16
- package/dist/server/services/pr-watcher-service.js +2 -0
- package/dist/server/services/settings-service.js +17 -6
- package/dist/server/services/setup-script-service.js +1 -0
- package/dist/server/services/websocket-service.js +8 -9
- package/dist/server/services/workspace-service.js +33 -2
- package/dist/server/services/worktree-service.js +4 -2
- package/dist/server/utils/git-ops.js +19 -5
- package/dist/server/utils/process-tracker.js +7 -0
- package/package.json +1 -1
- package/src/client/dist/spa/assets/ActivityFeed-CLqD89Cm.css +1 -0
- package/src/client/dist/spa/assets/ActivityFeed-DTH_Ij7C.js +68 -0
- package/src/client/dist/spa/assets/CreatePage-BB7McDfT.js +2 -0
- package/src/client/dist/spa/assets/CreatePage-DAZADSsw.css +1 -0
- package/src/client/dist/spa/assets/DiffViewer-DpdWjInq.css +1 -0
- package/src/client/dist/spa/assets/DiffViewer-DsVIBuje.js +2 -0
- package/src/client/dist/spa/assets/MainLayout-BVmmyrJW.js +2 -0
- package/src/client/dist/spa/assets/MainLayout-POre8X3k.css +1 -0
- package/src/client/dist/spa/assets/QBadge-C_R3Tjb9.js +1 -0
- package/src/client/dist/spa/assets/QExpansionItem-BPtEjGYj.js +1 -0
- package/src/client/dist/spa/assets/QPage-BX_DOfKi.js +1 -0
- package/src/client/dist/spa/assets/QSeparator-y-UWrZSp.js +1 -0
- package/src/client/dist/spa/assets/QSpinnerDots-vpiOHlmN.js +1 -0
- package/src/client/dist/spa/assets/QTooltip-D5Om2o3Y.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-BKDbZp9_.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-Dv9gCOw8.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-Cxt0YZv0.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-g-Y3BuoI.js +2 -0
- package/src/client/dist/spa/assets/_plugin-vue_export-helper-BZV6EEeb.js +1 -0
- package/src/client/dist/spa/assets/{cssMode-Dsa4Lydc.js → cssMode-CbCp8SFU.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-qmVdKoc0.js → editor.api-Bm9nrcuM.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-D2fZAQLs.js → editor.main-DCE1BHWQ.js} +3 -3
- package/src/client/dist/spa/assets/{freemarker2-e-FYsZTq.js → freemarker2-BEroNSFG.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-CAwfoT2m.js → handlebars-C8QC92C9.js} +1 -1
- package/src/client/dist/spa/assets/{html-BTRUpMfA.js → html-Dh4rYZTt.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-mzgQeoHf.js → htmlMode-BUP5qnTw.js} +1 -1
- package/src/client/dist/spa/assets/i18n-CvzmE5dV.js +1 -0
- package/src/client/dist/spa/assets/index-BRIQl1ry.js +5 -0
- package/src/client/dist/spa/assets/{javascript-DDeQuxhB.js → javascript-C3VBJatM.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-Ch5vu2Iw.js → jsonMode-fNrYYkV5.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-qVj3a9kh.js → liquid-BnBhHusK.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-Cb_a7RXe.js → mdx-CTu1vGiw.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-Rz70-mfd.js → monaco.contribution-Byxe-pOH.js} +2 -2
- package/src/client/dist/spa/assets/nodes-THUz-Chh.js +1 -0
- package/src/client/dist/spa/assets/{python-Cz0peIkX.js → python-CBrfgeGm.js} +1 -1
- package/src/client/dist/spa/assets/{razor-CU8Xe-4p.js → razor-CaMsFgrW.js} +1 -1
- package/src/client/dist/spa/assets/settings-CYWSNYAA.js +1 -0
- package/src/client/dist/spa/assets/{tsMode-CP1svEaN.js → tsMode-CrwxLvLR.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-aPJGGIsI.js → typescript-BOH3igZy.js} +1 -1
- package/src/client/dist/spa/assets/use-checkbox-ts4I7GAt.js +1 -0
- package/src/client/dist/spa/assets/use-quasar-CIVlxSZ-.js +1 -0
- package/src/client/dist/spa/assets/{xml-CZM1zQhV.js → xml-BtA9_-M9.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-B8qPirw0.js → yaml-vYOBELrg.js} +1 -1
- package/src/client/dist/spa/index.html +3 -3
- package/src/mcp-server/kobo-tasks-handlers.ts +21 -5
- package/src/mcp-server/kobo-tasks-server.ts +14 -2
- package/src/client/dist/spa/assets/ActivityFeed-Bx7maW4r.css +0 -1
- package/src/client/dist/spa/assets/ActivityFeed-DoQIjq5C.js +0 -60
- package/src/client/dist/spa/assets/CreatePage-6J0aDFtf.js +0 -2
- package/src/client/dist/spa/assets/CreatePage-DOr3puTt.css +0 -1
- package/src/client/dist/spa/assets/DiffViewer-7dck6mJc.css +0 -1
- package/src/client/dist/spa/assets/DiffViewer-dvGJaxu-.js +0 -2
- package/src/client/dist/spa/assets/MainLayout-DGzPKBi9.js +0 -2
- package/src/client/dist/spa/assets/MainLayout-gjAr74zR.css +0 -1
- package/src/client/dist/spa/assets/QBadge-Y5QfSDtm.js +0 -1
- package/src/client/dist/spa/assets/QBtn-D_bkYnrl.js +0 -1
- package/src/client/dist/spa/assets/QExpansionItem-D5gm2xc8.js +0 -1
- package/src/client/dist/spa/assets/QPage-Bg3Rohl6.js +0 -1
- package/src/client/dist/spa/assets/QSeparator-MRAsTeNf.js +0 -1
- package/src/client/dist/spa/assets/QSpinnerDots-Bu0GloxK.js +0 -1
- package/src/client/dist/spa/assets/QTooltip-Cuj49WIu.js +0 -1
- package/src/client/dist/spa/assets/SettingsPage-BNA4jJYf.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-BOkWnRl2.js +0 -1
- package/src/client/dist/spa/assets/WorkspacePage-9gRnhdjv.js +0 -2
- package/src/client/dist/spa/assets/WorkspacePage-CFC48jKO.css +0 -1
- package/src/client/dist/spa/assets/_plugin-vue_export-helper-Bo392ayB.js +0 -1
- package/src/client/dist/spa/assets/i18n-B1eQvEGk.js +0 -1
- package/src/client/dist/spa/assets/index-C0u2YcnZ.js +0 -5
- package/src/client/dist/spa/assets/nodes-Bo-5xQjA.js +0 -1
- package/src/client/dist/spa/assets/position-engine-CDz__T_5.js +0 -1
- package/src/client/dist/spa/assets/use-checkbox-B8W131xl.js +0 -1
- package/src/client/dist/spa/assets/use-quasar-sc8fDqi0.js +0 -1
- /package/src/client/dist/spa/assets/{formatters-CXx5Gzsp.js → formatters-B3FG1fMI.js} +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import{H as e,I as t,M as n,P as r,T as i,V as a,Z as o,d as s,f as c,g as l,gt as u,h as d,j as ee,l as f,nt as p,p as m,r as h,u as g,v as te,vt as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{b as v,r as ne,rt as re}from"./nodes-THUz-Chh.js";import{a as ie,c as y,s as ae}from"./index-BRIQl1ry.js";import{n as oe}from"./vue-i18n-CoZsbeQK.js";import{t as b}from"./QSpinnerDots-vpiOHlmN.js";import{A as x,t as se}from"./_plugin-vue_export-helper-BZV6EEeb.js";import{t as ce}from"./QTooltip-D5Om2o3Y.js";var{entries:S,setPrototypeOf:le,isFrozen:C,getPrototypeOf:w,getOwnPropertyDescriptor:ue}=Object,{freeze:T,seal:E,create:de}=Object,{apply:D,construct:O}=typeof Reflect<`u`&&Reflect;T||=function(e){return e},E||=function(e){return e},D||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},O||=function(e){return new e(...[...arguments].slice(1))};var k=P(Array.prototype.forEach),fe=P(Array.prototype.lastIndexOf),pe=P(Array.prototype.pop),me=P(Array.prototype.push),he=P(Array.prototype.splice),A=P(String.prototype.toLowerCase),ge=P(String.prototype.toString),j=P(String.prototype.match),_e=P(String.prototype.replace),ve=P(String.prototype.indexOf),ye=P(String.prototype.trim),M=P(Object.prototype.hasOwnProperty),N=P(RegExp.prototype.test),be=F(TypeError);function P(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return D(e,t,n)}}function F(e){return function(){return O(e,[...arguments])}}function I(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:A;le&&le(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(C(t)||(t[r]=e),i=e)}e[i]=!0}return e}function xe(e){for(let t=0;t<e.length;t++)M(e,t)||(e[t]=null);return e}function L(e){let t=de(null);for(let[n,r]of S(e))M(e,n)&&(Array.isArray(r)?t[n]=xe(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=L(r):t[n]=r);return t}function Se(e,t){for(;e!==null;){let n=ue(e,t);if(n){if(n.get)return P(n.get);if(typeof n.value==`function`)return P(n.value)}e=w(e)}function n(){return null}return n}var Ce=T(`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`.split(`.`)),we=T(`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`.split(`.`)),Te=T([`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`]),Ee=T([`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`]),De=T(`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`.split(`.`)),Oe=T([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ke=T([`#text`]),Ae=T(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.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.slot`.split(`.`)),je=T(`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`.split(`.`)),Me=T(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.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`.split(`.`)),R=T([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),z=E(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ne=E(/<%[\w\W]*|[\w\W]*%>/gm),Pe=E(/\$\{[\w\W]*/gm),B=E(/^data-[\-\w.\u00B7-\uFFFF]+$/),Fe=E(/^aria-[\-\w]+$/),Ie=E(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Le=E(/^(?:\w+script|data):/i),Re=E(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ze=E(/^html$/i),Be=E(/^[a-z][.\w]*(-[.\w]+)+$/i),Ve=Object.freeze({__proto__:null,ARIA_ATTR:Fe,ATTR_WHITESPACE:Re,CUSTOM_ELEMENT:Be,DATA_ATTR:B,DOCTYPE_NAME:ze,ERB_EXPR:Ne,IS_ALLOWED_URI:Ie,IS_SCRIPT_OR_DATA:Le,MUSTACHE_EXPR:z,TMPLIT_EXPR:Pe}),He={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ue=function(){return typeof window>`u`?null:window},We=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Ge=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Ke(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ue(),t=e=>Ke(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==He.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:ee,trustedTypes:f}=e,p=c.prototype,m=Se(p,`cloneNode`),h=Se(p,`remove`),g=Se(p,`nextSibling`),te=Se(p,`childNodes`),_=Se(p,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,ne=``,{implementation:re,createNodeIterator:ie,createDocumentFragment:y,getElementsByTagName:ae}=n,{importNode:oe}=r,b=Ge();t.isSupported=typeof S==`function`&&typeof _==`function`&&re&&re.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:x,ERB_EXPR:se,TMPLIT_EXPR:ce,DATA_ATTR:le,ARIA_ATTR:C,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:ue,CUSTOM_ELEMENT:E}=Ve,{IS_ALLOWED_URI:D}=Ve,O=null,P=I({},[...Ce,...we,...Te,...De,...ke]),F=null,xe=I({},[...Ae,...je,...Me,...R]),z=Object.seal(de(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}})),Ne=null,Pe=null,B=Object.seal(de(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Fe=!0,Le=!0,Re=!1,Be=!0,qe=!1,Je=!0,Ye=!1,V=!1,Xe=!1,H=!1,U=!1,Ze=!1,W=!0,Qe=!1,$e=!0,et=!1,G={},K=null,tt=I({},[`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`]),nt=null,rt=I({},[`audio`,`video`,`img`,`source`,`image`,`track`]),it=null,at=I({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),ot=`http://www.w3.org/1998/Math/MathML`,st=`http://www.w3.org/2000/svg`,q=`http://www.w3.org/1999/xhtml`,ct=q,lt=!1,ut=null,dt=I({},[ot,st,q],ge),ft=I({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=I({},[`annotation-xml`]),mt=I({},[`title`,`style`,`font`,`a`,`script`]),ht=null,gt=[`application/xhtml+xml`,`text/html`],J=null,_t=null,vt=n.createElement(`form`),yt=function(e){return e instanceof RegExp||e instanceof Function},bt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(_t&&_t===e)){if((!e||typeof e!=`object`)&&(e={}),e=L(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ge:A,O=M(e,`ALLOWED_TAGS`)?I({},e.ALLOWED_TAGS,J):P,F=M(e,`ALLOWED_ATTR`)?I({},e.ALLOWED_ATTR,J):xe,ut=M(e,`ALLOWED_NAMESPACES`)?I({},e.ALLOWED_NAMESPACES,ge):dt,it=M(e,`ADD_URI_SAFE_ATTR`)?I(L(at),e.ADD_URI_SAFE_ATTR,J):at,nt=M(e,`ADD_DATA_URI_TAGS`)?I(L(rt),e.ADD_DATA_URI_TAGS,J):rt,K=M(e,`FORBID_CONTENTS`)?I({},e.FORBID_CONTENTS,J):tt,Ne=M(e,`FORBID_TAGS`)?I({},e.FORBID_TAGS,J):L({}),Pe=M(e,`FORBID_ATTR`)?I({},e.FORBID_ATTR,J):L({}),G=M(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Fe=e.ALLOW_ARIA_ATTR!==!1,Le=e.ALLOW_DATA_ATTR!==!1,Re=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Be=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,qe=e.SAFE_FOR_TEMPLATES||!1,Je=e.SAFE_FOR_XML!==!1,Ye=e.WHOLE_DOCUMENT||!1,H=e.RETURN_DOM||!1,U=e.RETURN_DOM_FRAGMENT||!1,Ze=e.RETURN_TRUSTED_TYPE||!1,Xe=e.FORCE_BODY||!1,W=e.SANITIZE_DOM!==!1,Qe=e.SANITIZE_NAMED_PROPS||!1,$e=e.KEEP_CONTENT!==!1,et=e.IN_PLACE||!1,D=e.ALLOWED_URI_REGEXP||Ie,ct=e.NAMESPACE||q,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,z=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(z.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),qe&&(Le=!1),U&&(H=!0),G&&(O=I({},ke),F=de(null),G.html===!0&&(I(O,Ce),I(F,Ae)),G.svg===!0&&(I(O,we),I(F,je),I(F,R)),G.svgFilters===!0&&(I(O,Te),I(F,je),I(F,R)),G.mathMl===!0&&(I(O,De),I(F,Me),I(F,R))),M(e,`ADD_TAGS`)||(B.tagCheck=null),M(e,`ADD_ATTR`)||(B.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?B.tagCheck=e.ADD_TAGS:(O===P&&(O=L(O)),I(O,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?B.attributeCheck=e.ADD_ATTR:(F===xe&&(F=L(F)),I(F,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&I(it,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(K===tt&&(K=L(K)),I(K,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(K===tt&&(K=L(K)),I(K,e.ADD_FORBID_CONTENTS,J)),$e&&(O[`#text`]=!0),Ye&&I(O,[`html`,`head`,`body`]),O.table&&(I(O,[`tbody`]),delete Ne.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);v=e.TRUSTED_TYPES_POLICY,ne=v.createHTML(``)}else v===void 0&&(v=We(f,i)),v!==null&&typeof ne==`string`&&(ne=v.createHTML(``));T&&T(e),_t=e}},xt=I({},[...we,...Te,...Ee]),St=I({},[...De,...Oe]),Ct=function(e){let t=_(e);(!t||!t.tagName)&&(t={namespaceURI:ct,tagName:`template`});let n=A(e.tagName),r=A(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===st?t.namespaceURI===q?n===`svg`:t.namespaceURI===ot?n===`svg`&&(r===`annotation-xml`||ft[r]):!!xt[n]:e.namespaceURI===ot?t.namespaceURI===q?n===`math`:t.namespaceURI===st?n===`math`&&pt[r]:!!St[n]:e.namespaceURI===q?t.namespaceURI===st&&!pt[r]||t.namespaceURI===ot&&!ft[r]?!1:!St[n]&&(mt[n]||!xt[n]):!!(ht===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},wt=function(e){me(t.removed,{element:e});try{_(e).removeChild(e)}catch{h(e)}},Tt=function(e,n){try{me(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{me(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(H||U)try{wt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Et=function(e){let t=null,r=null;if(Xe)e=`<remove></remove>`+e;else{let t=j(e,/^[\r\n\t ]+/);r=t&&t[0]}ht===`application/xhtml+xml`&&ct===q&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=v?v.createHTML(e):e;if(ct===q)try{t=new ee().parseFromString(i,ht)}catch{}if(!t||!t.documentElement){t=re.createDocument(ct,`template`,null);try{t.documentElement.innerHTML=lt?ne:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),ct===q?ae.call(t,Ye?`html`:`body`)[0]:Ye?t.documentElement:a},Dt=function(e){return ie.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ot=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},kt=function(e){return typeof s==`function`&&e instanceof s};function Y(e,n,r){k(e,e=>{e.call(t,n,r,_t)})}let At=function(e){let n=null;if(Y(b.beforeSanitizeElements,e,null),Ot(e))return wt(e),!0;let r=J(e.nodeName);if(Y(b.uponSanitizeElement,e,{tagName:r,allowedTags:O}),Je&&e.hasChildNodes()&&!kt(e.firstElementChild)&&N(/<[/\w!]/g,e.innerHTML)&&N(/<[/\w!]/g,e.textContent)||e.nodeType===He.progressingInstruction||Je&&e.nodeType===He.comment&&N(/<[/\w]/g,e.data))return wt(e),!0;if(!(B.tagCheck instanceof Function&&B.tagCheck(r))&&(!O[r]||Ne[r])){if(!Ne[r]&&Mt(r)&&(z.tagNameCheck instanceof RegExp&&N(z.tagNameCheck,r)||z.tagNameCheck instanceof Function&&z.tagNameCheck(r)))return!1;if($e&&!K[r]){let t=_(e)||e.parentNode,n=te(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=m(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,g(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&N(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(qe&&e.nodeType===He.text&&(n=e.textContent,k([x,se,ce],e=>{n=_e(n,e,` `)}),e.textContent!==n&&(me(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(b.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Pe[t]||W&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(Le&&!Pe[t]&&N(le,t))&&!(Fe&&N(C,t))&&!(B.attributeCheck instanceof Function&&B.attributeCheck(t,e))){if(!F[t]||Pe[t]){if(!(Mt(e)&&(z.tagNameCheck instanceof RegExp&&N(z.tagNameCheck,e)||z.tagNameCheck instanceof Function&&z.tagNameCheck(e))&&(z.attributeNameCheck instanceof RegExp&&N(z.attributeNameCheck,t)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(t,e))||t===`is`&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&N(z.tagNameCheck,r)||z.tagNameCheck instanceof Function&&z.tagNameCheck(r))))return!1}else if(!it[t]&&!N(D,_e(r,ue,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ve(r,`data:`)===0&&nt[e])&&!(Re&&!N(w,_e(r,ue,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&j(e,E)},Nt=function(e){Y(b.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=J(a),l=s,u=a===`value`?l:ye(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(b.uponSanitizeAttribute,e,r),u=r.attrValue,Qe&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),Je&&N(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&j(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Be&&N(/\/>/i,u)){Tt(a,e);continue}qe&&k([x,se,ce],e=>{u=_e(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(v&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!o)switch(f.getAttributeType(d,c)){case`TrustedHTML`:u=v.createHTML(u);break;case`TrustedScriptURL`:u=v.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):pe(t.removed)}catch{Tt(a,e)}}Y(b.afterSanitizeAttributes,e,null)},Pt=function e(t){let n=null,r=Dt(t);for(Y(b.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Y(b.uponSanitizeShadowNode,n,null),At(n),Nt(n),n.content instanceof a&&e(n.content);Y(b.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(lt=!e,lt&&(e=`<!-->`),typeof e!=`string`&&!kt(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw be(`dirty is not a string, aborting`)}else throw be(`toString is not a function`);if(!t.isSupported)return e;if(V||bt(n),t.removed=[],typeof e==`string`&&(et=!1),et){if(e.nodeName){let t=J(e.nodeName);if(!O[t]||Ne[t])throw be(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Et(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===He.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!H&&!qe&&!Ye&&e.indexOf(`<`)===-1)return v&&Ze?v.createHTML(e):e;if(i=Et(e),!i)return H?null:Ze?ne:``}i&&Xe&&wt(i.firstChild);let u=Dt(et?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(et)return e;if(H){if(U)for(l=y.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(F.shadowroot||F.shadowrootmode)&&(l=oe.call(r,l,!0)),l}let d=Ye?i.outerHTML:i.innerHTML;return Ye&&O[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&N(ze,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
2
|
+
`+d),qe&&k([x,se,ce],e=>{d=_e(d,e,` `)}),v&&Ze?v.createHTML(d):d},t.setConfig=function(){bt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),V=!0},t.clearConfig=function(){_t=null,V=!1},t.isValidAttribute=function(e,t,n){return _t||bt({}),jt(J(e),J(t),n)},t.addHook=function(e,t){typeof t==`function`&&me(b[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=fe(b[e],t);return n===-1?void 0:he(b[e],n,1)[0]}return pe(b[e])},t.removeHooks=function(e){b[e]=[]},t.removeAllHooks=function(){b=Ge()},t}var qe=Ke(),Je;function Ye(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var V=Ye();function Xe(e){V=e}var H={exec:()=>null};function U(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(W.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Ze=(()=>{try{return!0}catch{return!1}})(),W={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:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Qe=/^(?:[ \t]*(?:\n|$))+/,$e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,et=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,G=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,K=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,tt=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,nt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,rt=U(nt).replace(/bull/g,tt).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(),it=U(nt).replace(/bull/g,tt).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(),at=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ot=/^[^\n]+/,st=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,q=U(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,st).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ct=U(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,tt).getRegex(),lt=`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`,ut=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,dt=U(`^ {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`,ut).replace(`tag`,lt).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ft=U(at).replace(`hr`,G).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`,lt).getRegex(),pt={blockquote:U(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,ft).getRegex(),code:$e,def:q,fences:et,heading:K,hr:G,html:dt,lheading:rt,list:ct,newline:Qe,paragraph:ft,table:H,text:ot},mt=U(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,G).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`,lt).getRegex(),ht={...pt,lheading:it,table:mt,paragraph:U(at).replace(`hr`,G).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,mt).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`,lt).getRegex()},gt={...pt,html:U(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,ut).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:H,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:U(at).replace(`hr`,G).replace(`heading`,` *#{1,6} *[^
|
|
3
|
+
]`).replace(`lheading`,rt).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},J=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_t=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,vt=/^( {2,}|\\)\n(?!\s*$)/,yt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,bt=/[\p{P}\p{S}]/u,xt=/[\s\p{P}\p{S}]/u,St=/[^\s\p{P}\p{S}]/u,Ct=U(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,xt).getRegex(),wt=/(?!~)[\p{P}\p{S}]/u,Tt=/(?!~)[\s\p{P}\p{S}]/u,Et=/(?:[^\s\p{P}\p{S}]|~)/u,Dt=U(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,Ze?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),Ot=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,kt=U(Ot,`u`).replace(/punct/g,bt).getRegex(),Y=U(Ot,`u`).replace(/punct/g,wt).getRegex(),At=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,jt=U(At,`gu`).replace(/notPunctSpace/g,St).replace(/punctSpace/g,xt).replace(/punct/g,bt).getRegex(),Mt=U(At,`gu`).replace(/notPunctSpace/g,Et).replace(/punctSpace/g,Tt).replace(/punct/g,wt).getRegex(),Nt=U(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,St).replace(/punctSpace/g,xt).replace(/punct/g,bt).getRegex(),Pt=U(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,bt).getRegex(),Ft=U(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,St).replace(/punctSpace/g,xt).replace(/punct/g,bt).getRegex(),It=U(/\\(punct)/,`gu`).replace(/punct/g,bt).getRegex(),Lt=U(/^<(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(),Rt=U(ut).replace(`(?:-->|$)`,`-->`).getRegex(),zt=U(`^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`,Rt).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Bt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Vt=U(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Bt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ht=U(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Bt).replace(`ref`,st).getRegex(),Ut=U(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,st).getRegex(),Wt=U(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Ht).replace(`nolink`,Ut).getRegex(),Gt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Kt={_backpedal:H,anyPunctuation:It,autolink:Lt,blockSkip:Dt,br:vt,code:_t,del:H,delLDelim:H,delRDelim:H,emStrongLDelim:kt,emStrongRDelimAst:jt,emStrongRDelimUnd:Nt,escape:J,link:Vt,nolink:Ut,punctuation:Ct,reflink:Ht,reflinkSearch:Wt,tag:zt,text:yt,url:H},qt={...Kt,link:U(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Bt).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Bt).getRegex()},Jt={...Kt,emStrongRDelimAst:Mt,emStrongLDelim:Y,delLDelim:Pt,delRDelim:Ft,url:U(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Gt).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:U(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Gt).getRegex()},Yt={...Jt,br:U(vt).replace(`{2,}`,`*`).getRegex(),text:U(Jt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Xt={normal:pt,gfm:ht,pedantic:gt},Zt={normal:Kt,gfm:Jt,breaks:Yt,pedantic:qt},Qt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},$t=e=>Qt[e];function X(e,t){if(t){if(W.escapeTest.test(e))return e.replace(W.escapeReplace,$t)}else if(W.escapeTestNoEncode.test(e))return e.replace(W.escapeReplaceNoEncode,$t);return e}function en(e){try{e=encodeURI(e).replace(W.percentDecode,`%`)}catch{return null}return e}function tn(e,t){let n=e.replace(W.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(W.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(W.slashPipe,`|`);return n}function nn(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function rn(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function an(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function on(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function sn(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
4
|
+
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
5
|
+
`)}var cn=class{constructor(e){y(this,`options`,void 0),y(this,`rules`,void 0),y(this,`lexer`,void 0),this.options=e||V}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:nn(e,`
|
|
6
|
+
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=sn(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=nn(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:nn(t[0],`
|
|
7
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=nn(t[0],`
|
|
8
|
+
`).split(`
|
|
9
|
+
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
10
|
+
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
11
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
|
|
12
|
+
${s}`:s,r=r?`${r}
|
|
13
|
+
${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=t.raw+`
|
|
14
|
+
`+e.join(`
|
|
15
|
+
`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
|
|
16
|
+
`+e.join(`
|
|
17
|
+
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
18
|
+
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=an(t[2].split(`
|
|
19
|
+
`,1)[0],t[1].length),l=e.split(`
|
|
20
|
+
`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
|
|
21
|
+
`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),ee=this.rules.other.blockquoteBeginRegex(d);for(;e;){let f=e.split(`
|
|
22
|
+
`,1)[0],p;if(l=f,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),p=l):p=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||ee.test(l)||t.test(l)||n.test(l))break;if(p.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
|
|
23
|
+
`+p.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
|
|
24
|
+
`+l}u=!l.trim(),r+=f+`
|
|
25
|
+
`,e=e.substring(f.length+1),c=p.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:`html`,block:!0,raw:t[0],pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=tn(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
26
|
+
`):[],a={type:`table`,raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(tn(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:t[0],depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
27
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=nn(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=rn(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),on(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return on(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},Z=class e{constructor(e){y(this,`tokens`,void 0),y(this,`options`,void 0),y(this,`state`,void 0),y(this,`inlineQueue`,void 0),y(this,`tokenizer`,void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||V,this.options.tokenizer=this.options.tokenizer||new cn,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 t={other:W,block:Xt.normal,inline:Zt.normal};this.options.pedantic?(t.block=Xt.pedantic,t.inline=Zt.pedantic):this.options.gfm&&(t.block=Xt.gfm,this.options.breaks?t.inline=Zt.breaks:t.inline=Zt.gfm),this.tokenizer.rules=t}static get rules(){return{block:Xt,inline:Zt}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(W.carriageReturn,`
|
|
28
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(W.tabCharGlobal,` `).replace(W.spaceLine,``));e;){let r;if(this.options.extensions?.block?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);r.raw.length===1&&n!==void 0?n.raw+=`
|
|
29
|
+
`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
30
|
+
`)?``:`
|
|
31
|
+
`)+r.raw,n.text+=`
|
|
32
|
+
`+r.text,this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
33
|
+
`)?``:`
|
|
34
|
+
`)+r.raw,n.text+=`
|
|
35
|
+
`+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let a=t.at(-1);n&&a?.type===`paragraph`?(a.raw+=(a.raw.endsWith(`
|
|
36
|
+
`)?``:`
|
|
37
|
+
`)+r.raw,a.text+=`
|
|
38
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
39
|
+
`)?``:`
|
|
40
|
+
`)+r.raw,n.text+=`
|
|
41
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``;for(;e;){a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return t}},ln=class{constructor(e){y(this,`options`,void 0),y(this,`parser`,void 0),this.options=e||V}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(W.notSpaceStart)?.[0],i=e.replace(W.endingNewline,``)+`
|
|
42
|
+
`;return r?`<pre><code class="language-`+X(r)+`">`+(n?i:X(i,!0))+`</code></pre>
|
|
43
|
+
`:`<pre><code>`+(n?i:X(i,!0))+`</code></pre>
|
|
44
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
45
|
+
${this.parser.parse(e)}</blockquote>
|
|
46
|
+
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
47
|
+
`}hr(e){return`<hr>
|
|
48
|
+
`}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
|
|
49
|
+
`+r+`</`+i+`>
|
|
50
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
51
|
+
`}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
52
|
+
`}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
|
|
53
|
+
<thead>
|
|
54
|
+
`+t+`</thead>
|
|
55
|
+
`+r+`</table>
|
|
56
|
+
`}tablerow({text:e}){return`<tr>
|
|
57
|
+
${e}</tr>
|
|
58
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
59
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${X(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=en(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+X(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=en(e);if(i===null)return X(n);e=i;let a=`<img src="${e}" alt="${X(n)}"`;return t&&(a+=` title="${X(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:X(e.text)}},un=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Q=class e{constructor(e){y(this,`options`,void 0),y(this,`renderer`,void 0),y(this,`textRenderer`,void 0),this.options=e||V,this.options.renderer=this.options.renderer||new ln,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new un}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},dn=(Je=class{constructor(e){y(this,`options`,void 0),y(this,`block`,void 0),this.options=e||V}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Z.lex:Z.lexInline}provideParser(e=this.block){return e?Q.parse:Q.parseInline}},y(Je,`passThroughHooks`,new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`])),y(Je,`passThroughHooksRespectAsync`,new Set([`preprocess`,`postprocess`,`processAllTokens`])),Je),fn=new class{constructor(...e){y(this,`defaults`,Ye()),y(this,`options`,this.setOptions),y(this,`parse`,this.parseMarkdown(!0)),y(this,`parseInline`,this.parseMarkdown(!1)),y(this,`Parser`,Q),y(this,`Renderer`,ln),y(this,`TextRenderer`,un),y(this,`Lexer`,Z),y(this,`Tokenizer`,cn),y(this,`Hooks`,dn),this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new ln(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new cn(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new dn;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];dn.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&dn.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Z.lex(e,t??this.defaults)}parser(e,t){return Q.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(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 t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Z.lex:Z.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Q.parse:Q.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Z.lex:Z.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Q.parse:Q.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
60
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+X(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function $(e,t){return fn.parse(e,t)}$.options=$.setOptions=function(e){return fn.setOptions(e),$.defaults=fn.defaults,Xe($.defaults),$},$.getDefaults=Ye,$.defaults=V,$.use=function(...e){return fn.use(...e),$.defaults=fn.defaults,Xe($.defaults),$},$.walkTokens=function(e,t){return fn.walkTokens(e,t)},$.parseInline=fn.parseInline,$.Parser=Q,$.parser=Q.parse,$.Renderer=ln,$.TextRenderer=un,$.Lexer=Z,$.lexer=Z.lex,$.Tokenizer=cn,$.Hooks=dn,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Q.parse,Z.lex;var pn={key:0,class:`af-empty column items-center justify-center text-center q-pa-xl`},mn={class:`text-grey-6 q-mt-md text-body2`},hn={class:`text-grey-8 text-caption q-mt-xs`},gn={key:1,class:`row justify-center q-my-sm`},_n=[`data-item-id`],vn={class:`af-tool row items-center q-gutter-xs`},yn={class:`af-tool-label text-indigo-4`},bn={class:`af-time`},xn={key:0,class:`text-grey-4 q-mb-xs`},Sn={class:`af-ask-options-list q-mb-sm`},Cn={class:`text-weight-bold text-grey-3`},wn={key:0},Tn={key:1,class:`af-ask-buttons q-gutter-xs`},En=[`onClick`],Dn={class:`af-file-header row items-center no-wrap q-gutter-xs`},On={class:`af-file-path text-grey-4 ellipsis`},kn={class:`af-diff-stats`},An={key:0,class:`text-green-5`},jn={key:1,class:`text-red-5 q-ml-xs`},Mn={class:`af-time`},Nn={key:1,class:`af-diff-line af-diff-del`},Pn={key:0,class:`af-diff-line text-grey-7 text-italic`},Fn=[`onClick`],In={class:`af-tool-label text-grey-7`},Ln={key:0,class:`af-tool-desc text-grey-8`},Rn={class:`af-time`},zn={key:0,class:`af-tool-args q-mt-xs rounded-borders`},Bn={class:`af-args-pre`},Vn={class:`af-text-header row items-center q-mb-xs`},Hn={class:`af-time`},Un=[`innerHTML`],Wn={key:0,class:`af-options q-mt-sm q-gutter-xs`},Gn=[`onClick`],Kn={class:`af-system-content text-caption text-amber-6`},qn={class:`af-time`},Jn={key:0,class:`af-system-details q-mt-xs rounded-borders`},Yn={class:`af-args-pre`},Xn={key:5,class:`row items-center`},Zn={class:`af-error-content text-red-5`},Qn={class:`af-time`},$n={key:6,class:`row items-center`},er={class:`af-raw-content text-grey-7`},tr={class:`af-time`},nr={class:`scroll-buttons`},rr=50,ir=50,ar=se(te({__name:`ActivityFeed`,setup(te){function y(e){let t=$.parse(e,{async:!1,breaks:!0,gfm:!0});return qe.sanitize(t)}let{t:se}=oe(),S=ae(),le=ie(),C=o(null),w=o(!1),ue=o(new Set);function T(e){let t=e.replace(/\*\*/g,``);function n(n){let r=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i=e.match(RegExp(`^(?:\\*\\*)?${r}`,`m`));if(i?.index!==void 0)return i.index;let a=t.indexOf(n);return a>=0?a:0}let r=[...t.matchAll(/^-\s*([A-Z])\s*[—–-]\s*(.+)/gm)];if(r.length>=2){let t=n(r[0][0]);return{textBefore:e.substring(0,t).trim(),options:r.map(e=>({key:e[1],label:`${e[1]} — ${e[2]}`}))}}let i=[...t.matchAll(/^([a-zA-Z])\)\s+(.+)/gm)];if(i.length>=2){let t=n(i[0][0].substring(0,3));return{textBefore:e.substring(0,t).trim(),options:i.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let a=[...t.matchAll(/^Option\s+(\d+)\s*[—–-]\s*(.+)/gim)];if(a.length>=2){let t=n(a[0][0].substring(0,10));return{textBefore:e.substring(0,t).trim(),options:a.map(e=>({key:e[1],label:e[2].trim()}))}}let o=[...t.matchAll(/^(\d+)\)\s+(.+)/gm)];if(o.length>=2){let t=n(o[0][0].substring(0,3));return{textBefore:e.substring(0,t).trim(),options:o.map(e=>({key:e[1],label:e[2].trim()}))}}let s=[...t.matchAll(/^([a-zA-Z])\.\s+(.+)/gm)];if(s.length>=2){let t=n(s[0][0].substring(0,3));return{textBefore:e.substring(0,t).trim(),options:s.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let c=[...t.matchAll(/^([a-zA-Z])\s*:\s+(.+)/gm)];if(c.length>=2){let t=n(c[0][0].substring(0,2));return{textBefore:e.substring(0,t).trim(),options:c.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let l=[...t.matchAll(/^\(([a-zA-Z0-9])\)\s+(.+)/gm)];if(l.length>=2){let t=n(l[0][0].substring(0,4));return{textBefore:e.substring(0,t).trim(),options:l.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let u=[...t.matchAll(/^\[([a-zA-Z0-9])\]\s+(.+)/gm)];if(u.length>=2){let t=n(u[0][0].substring(0,4));return{textBefore:e.substring(0,t).trim(),options:u.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let d=[...e.matchAll(/^\d+\.\s*\*\*(.+?)\*\*\s*[—–-]\s*(.+)/gm)];if(d.length>=2){let t=e.indexOf(d[0][0]);return{textBefore:e.substring(0,t).trim(),options:d.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let ee=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\([^)]*\)[^\S\n]*)?[—–-][^\S\n]*(.+)/gm)];if(ee.length>=2){let t=e.indexOf(ee[0][0]);return{textBefore:e.substring(0,t).trim(),options:ee.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let f=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\(([^)]*)\))?[^\S\n]*$/gm)];if(f.length>=2){let t=e.indexOf(f[0][0]);return{textBefore:e.substring(0,t).trim(),options:f.map((e,t)=>({key:String(t+1),label:e[2]?`${e[1]} (${e[2]})`:e[1]}))}}return null}let E=new Map;function de(e,t){return E.has(e)||E.set(e,T(t)),E.get(e)}let D=new Map;function O(e,t){return D.has(e)||D.set(e,ke(t)),D.get(e)}let k=new Map;function fe(e,t){return k.has(e)||k.set(e,y(t)),k.get(e)}function pe(e){let t=S.selectedWorkspaceId;t&&le.sendChatMessage(t,e)}let me=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--)if(e[t].type===`text`)return e[t].id;return null}),he=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.meta?.sender===`user`)return null;if(n.type===`tool_use`&&n.content===`AskUserQuestion`)return n.id}return null}),A=o(-1);function ge(){let e=S.activityFeed,t=e.map((e,t)=>({item:e,idx:t})).filter(({item:e})=>e.meta?.sender===`user`);if(t.length===0)return;A.value<=0?A.value=t.length-1:A.value--;let n=t[A.value].idx,r=t[A.value].item.id,a=e.length-n;a>j.value&&(j.value=Math.min(a+10,e.length)),i(()=>{let e=C.value?.querySelector(`[data-item-id="${r}"]`);e&&e.scrollIntoView({behavior:`smooth`,block:`center`})})}a(()=>S.selectedWorkspaceId,()=>{A.value=-1,E.clear(),D.clear(),k.clear(),ye=0,w.value=!1});let j=o(rr),_e=f(()=>{let e=S.activityFeed;return e.length<=j.value?e:e.slice(-j.value)});a(()=>S.selectedWorkspaceId,()=>{j.value=rr}),a(_e,e=>{let t=new Set(e.map(e=>e.id));for(let e of E.keys())t.has(e)||E.delete(e);for(let e of D.keys())t.has(e)||D.delete(e);for(let e of k.keys())t.has(e)||k.delete(e)},{flush:`post`});let ve=o(!1),ye=0;function M(){let e=C.value;if(e&&(e.scrollHeight-e.scrollTop-e.clientHeight<50?ve.value=!1:e.scrollTop<ye&&(ve.value=!0),ye=e.scrollTop,e.scrollTop<200&&!w.value)){let t=S.activityFeed.length;if(j.value<t){w.value=!0;let n=e.scrollHeight;j.value=Math.min(j.value+ir,t),i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-n),w.value=!1})}else if(S.selectedWorkspaceId&&S.hasMoreEvents[S.selectedWorkspaceId]!==!1){w.value=!0;let t=e.scrollHeight;S.fetchOlderEvents(S.selectedWorkspaceId).then(e=>{e?(j.value=S.activityFeed.length,i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-t),w.value=!1})):w.value=!1})}}}function N(){if(ve.value)return;let e=C.value;e&&(e.scrollTop=e.scrollHeight)}function be(){ve.value=!1,j.value=rr,i(()=>{let e=C.value;e&&(e.scrollTop=e.scrollHeight)})}a(()=>S.activityFeed.length,()=>{i(N)}),ee(()=>{C.value?.addEventListener(`scroll`,M),i(N)}),n(()=>{C.value?.removeEventListener(`scroll`,M)});function P(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function F(e){if(e.type!==`tool_use`)return null;let t=e.meta?.input;if(e.content===`Edit`){if(!t?.file_path)return null;let e=t.file_path,n=t.old_string??``,r=t.new_string??``,i=n.split(`
|
|
61
|
+
`),a=r.split(`
|
|
62
|
+
`);return{toolName:`Edit`,filePath:e,oldString:n,newString:r,replaceAll:t.replace_all??!1,additions:a.length,deletions:i.length}}if(e.content===`Write`){if(!t?.file_path)return null;let e=t.file_path,n=t.content??``;return{toolName:`Write`,filePath:e,content:n,additions:n.split(`
|
|
63
|
+
`).length,deletions:0}}if(e.content===`Bash`){let e=(t?.command??``).match(/^\s*rm\s+(?:-[a-zA-Z]*\s+)*(.+)/);if(e)return{toolName:`Bash:rm`,filePath:e[1].trim().replace(/["']/g,``),additions:0,deletions:1}}return null}function I(e){return e.split(`/`).pop()??e}function xe(e){let t=I(e),n=t.lastIndexOf(`.`);return n>=0?t.substring(n+1):``}function L(e){return{ts:`JS`,tsx:`TS`,js:`JS`,jsx:`JS`,vue:`VU`,py:`PY`,rs:`RS`,go:`GO`,java:`JA`,php:`PH`,css:`CS`,scss:`SC`,html:`HT`,md:`MD`,json:`JS`,sql:`SQ`,sh:`SH`,yaml:`YA`,yml:`YA`,toml:`TM`}[e.toLowerCase()]??e.substring(0,2).toUpperCase()}function Se(e){return{ts:`blue-5`,tsx:`blue-5`,js:`yellow-8`,jsx:`yellow-8`,vue:`green-5`,py:`blue-4`,rs:`orange-5`,go:`cyan-5`,java:`red-5`,php:`indigo-4`,css:`purple-4`,scss:`pink-4`,html:`orange-4`,md:`grey-5`,json:`yellow-6`}[e.toLowerCase()]??`grey-5`}function Ce(e){let t=e.toLowerCase();return t.includes(`read`)||t.includes(`grep`)||t.includes(`glob`)?`search`:t.includes(`write`)||t.includes(`edit`)?`edit`:t.includes(`bash`)||t.includes(`terminal`)?`terminal`:t.includes(`agent`)||t.includes(`task`)?`smart_toy`:`build`}function we(e){switch(e.type){case`text`:return e.meta?.sender===`system-prompt`?`af-item--prompt`:e.meta?.sender===`user`?`af-item--user`:`af-item--text`;case`system`:return`af-item--system`;case`error`:return`af-item--error`;case`tool_use`:return`af-item--tool`;case`raw`:return`af-item--raw`;default:return``}}function Te(e){switch(e.meta?.sender){case`system-prompt`:return se(`activityFeed.initialPrompt`);case`user`:return se(`activityFeed.you`);default:return se(`activityFeed.agent`)}}function Ee(e){switch(e.meta?.sender){case`system-prompt`:return`text-indigo-4`;case`user`:return`text-green-4`;default:return`text-blue-4`}}function De(e){if(e.content===`Skill`&&e.meta){let t=e.meta.input;if(t&&typeof t.skill==`string`)return`Skill — ${t.skill}`}return e.content}function Oe(e){if(!e.meta)return``;let t=e.meta.input;return t&&typeof t.description==`string`?t.description:``}function ke(e){if(e.type!==`tool_use`||e.content!==`AskUserQuestion`)return null;let t=e.meta?.input;return!t?.questions||!Array.isArray(t.questions)?null:t.questions.filter(e=>Array.isArray(e.options)&&e.options.length>0).map(e=>({question:e.question??``,options:e.options.map(e=>({label:e.label??``,description:e.description??``}))}))}function Ae(e){let t=S.selectedWorkspaceId;t&&le.sendChatMessage(t,e)}function je(e){if(!e.meta)return!1;let t=e.meta;return t.input!==void 0&&t.input!==null}function Me(e){ue.value.has(e)?ue.value.delete(e):ue.value.add(e)}function R(e){return ue.value.has(e)}function z(e){if(!e.meta)return``;let t=e.meta;if(!t.input)return``;try{return JSON.stringify(t.input,null,2)}catch{return String(t.input)}}let Ne=f(()=>S.activityFeed.some(e=>e.meta?.sender===`user`));function Pe(e){return e.type!==`system`||!e.meta?!1:Object.keys(e.meta).length>0}function B(e){if(!e.meta)return``;try{return JSON.stringify(e.meta,null,2)}catch{return``}}return(n,i)=>(r(),m(`div`,{ref_key:`feedContainer`,ref:C,class:`activity-feed q-pa-sm`},[p(S).activityFeed.length===0?(r(),m(`div`,pn,[l(v,{name:`forum`,size:`48px`,color:`grey-8`}),g(`div`,mn,_(n.$t(`activityFeed.empty`)),1),g(`div`,hn,_(n.$t(`activityFeed.emptyHint`)),1)])):c(``,!0),w.value?(r(),m(`div`,gn,[l(b,{size:`24px`,color:`grey-6`})])):c(``,!0),(r(!0),m(h,null,t(_e.value,a=>(r(),m(`div`,{key:a.id,"data-item-id":a.id,class:u([`af-item text-caption rounded-borders`,we(a)])},[a.type===`tool_use`&&O(a.id,a)?(r(),m(h,{key:0},[g(`div`,vn,[l(v,{name:`help_outline`,size:`14px`,color:`indigo-4`}),g(`span`,yn,_(n.$t(`activityFeed.question`)),1),l(x),g(`span`,bn,_(P(a.timestamp)),1)]),(r(!0),m(h,null,t(O(a.id,a),(n,i)=>(r(),m(`div`,{key:i,class:`q-mt-sm`},[n.question?(r(),m(`div`,xn,_(n.question),1)):c(``,!0),g(`div`,Sn,[(r(!0),m(h,null,t(n.options,(e,t)=>(r(),m(`div`,{key:t,class:`af-ask-option-item text-caption text-grey-5`},[g(`span`,Cn,_(t+1)+`. `+_(e.label),1),e.description?(r(),m(`span`,wn,` — `+_(e.description),1)):c(``,!0)]))),128))]),a.id===he.value?(r(),m(`div`,Tn,[(r(!0),m(h,null,t(n.options,(t,n)=>(r(),s(ne,{key:t.label,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>Ae(`${n+1}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)]))),128))],64)):a.type===`tool_use`&&F(a)?(r(),m(`div`,{key:1,class:`af-file-change cursor-pointer`,onClick:e=>Me(a.id)},[g(`div`,Dn,[g(`span`,{class:u([`af-lang-badge`,`text-${Se(xe(F(a).filePath))}`])},_(L(xe(F(a).filePath))),3),g(`span`,On,_(F(a).filePath),1),g(`span`,kn,[F(a).additions?(r(),m(`span`,An,`+`+_(F(a).additions),1)):c(``,!0),F(a).deletions?(r(),m(`span`,jn,`-`+_(F(a).deletions),1)):c(``,!0)]),l(v,{name:R(a.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),l(x),g(`span`,Mn,_(P(a.timestamp)),1)]),R(a.id)?(r(),m(`div`,{key:0,class:`af-diff-body q-mt-xs`,onClick:i[0]||=re(()=>{},[`stop`])},[F(a).toolName===`Edit`?(r(),m(h,{key:0},[(r(!0),m(h,null,t((F(a).oldString??``).split(`
|
|
64
|
+
`),(e,t)=>(r(),m(`div`,{key:`del-${t}`,class:`af-diff-line af-diff-del`},[i[1]||=g(`span`,{class:`af-diff-sign`},`-`,-1),d(_(e),1)]))),128)),(r(!0),m(h,null,t((F(a).newString??``).split(`
|
|
65
|
+
`),(e,t)=>(r(),m(`div`,{key:`add-${t}`,class:`af-diff-line af-diff-add`},[i[2]||=g(`span`,{class:`af-diff-sign`},`+`,-1),d(_(e),1)]))),128))],64)):F(a).toolName===`Bash:rm`?(r(),m(`div`,Nn,[...i[3]||=[g(`span`,{class:`af-diff-sign`},`-`,-1),d(`File deleted`,-1)]])):(r(),m(h,{key:2},[(r(!0),m(h,null,t((F(a).content??``).split(`
|
|
66
|
+
`).slice(0,30),(e,t)=>(r(),m(`div`,{key:`w-${t}`,class:`af-diff-line af-diff-add`},[i[4]||=g(`span`,{class:`af-diff-sign`},`+`,-1),d(_(e),1)]))),128)),(F(a).content??``).split(`
|
|
67
|
+
`).length>30?(r(),m(`div`,Pn,`… `+_((F(a).content??``).split(`
|
|
68
|
+
`).length-30)+` more lines`,1)):c(``,!0)],64))])):c(``,!0)],8,En)):a.type===`tool_use`?(r(),m(h,{key:2},[g(`div`,{class:u([`af-tool row items-center q-gutter-xs`,{"cursor-pointer":je(a)}]),onClick:e=>je(a)&&Me(a.id)},[l(v,{name:Ce(a.content),size:`14px`,color:`grey-6`},null,8,[`name`]),g(`span`,In,_(De(a)),1),Oe(a)?(r(),m(`span`,Ln,`— `+_(Oe(a)),1)):c(``,!0),je(a)?(r(),s(v,{key:1,name:R(a.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-7`},null,8,[`name`])):c(``,!0),l(x),g(`span`,Rn,_(P(a.timestamp)),1)],10,Fn),R(a.id)?(r(),m(`div`,zn,[g(`pre`,Bn,_(z(a)),1)])):c(``,!0)],64)):a.type===`text`?(r(),m(h,{key:3},[g(`div`,Vn,[g(`span`,{class:u([`text-caption text-weight-bold`,Ee(a)])},_(Te(a)),3),a.meta?.pending?(r(),s(b,{key:0,size:`14px`,color:`grey-5`,class:`q-ml-sm`})):c(``,!0),l(x),g(`span`,Hn,_(P(a.timestamp)),1)]),g(`div`,{class:`af-text-content af-markdown`,innerHTML:fe(a.id,a.content)},null,8,Un),de(a.id,a.content)&&a.id===me.value?(r(),m(`div`,Wn,[(r(!0),m(h,null,t(de(a.id,a.content).options,t=>(r(),s(ne,{key:t.key,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>pe(`${t.key}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)],64)):a.type===`system`?(r(),m(h,{key:4},[g(`div`,{class:u([`row items-center`,{"cursor-pointer":Pe(a)}]),onClick:e=>Pe(a)&&Me(a.id)},[l(v,{name:`info`,size:`14px`,color:`amber-6`,class:`q-mr-xs`}),g(`span`,Kn,_(a.content),1),Pe(a)?(r(),s(v,{key:0,name:R(a.id)?`expand_less`:`expand_more`,size:`14px`,color:`amber-8`,class:`q-ml-xs`},null,8,[`name`])):c(``,!0),l(x),g(`span`,qn,_(P(a.timestamp)),1)],10,Gn),R(a.id)&&Pe(a)?(r(),m(`div`,Jn,[g(`pre`,Yn,_(B(a)),1)])):c(``,!0)],64)):a.type===`error`?(r(),m(`div`,Xn,[l(v,{name:`error`,size:`14px`,color:`red-5`,class:`q-mr-xs`}),g(`span`,Zn,_(a.content),1),l(x),g(`span`,Qn,_(P(a.timestamp)),1)])):(r(),m(`div`,$n,[g(`span`,er,_(a.content),1),l(x),g(`span`,tr,_(P(a.timestamp)),1)]))],10,_n))),128)),g(`div`,nr,[Ne.value?(r(),s(ne,{key:0,round:``,dense:``,size:`sm`,icon:`person_search`,color:`indigo-8`,class:`scroll-btn`,onClick:ge},{default:e(()=>[l(ce,null,{default:e(()=>[d(_(n.$t(`activityFeed.goToPrevious`)),1)]),_:1})]),_:1})):c(``,!0),ve.value?(r(),s(ne,{key:1,round:``,dense:``,size:`sm`,icon:`keyboard_double_arrow_down`,color:`indigo-8`,class:`scroll-btn`,onClick:be},{default:e(()=>[l(ce,null,{default:e(()=>[d(_(n.$t(`activityFeed.scrollToBottom`)),1)]),_:1})]),_:1})):c(``,!0)])],512))}}),[[`__scopeId`,`data-v-b51e6f0f`]]);export{ar as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{H as e,I as t,M as n,P as r,V as i,Z as a,d as o,f as s,g as c,h as l,j as ee,l as u,nt as te,p as d,r as f,u as p,v as ne,vt as m,w as re}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{Q as ie,b as h,nt as g,r as _,rt as v}from"./nodes-THUz-Chh.js";import{t as ae}from"./settings-CYWSNYAA.js";import{a as oe,r as se,s as ce}from"./index-BRIQl1ry.js";import{n as le}from"./vue-i18n-CoZsbeQK.js";import{A as y,t as b}from"./_plugin-vue_export-helper-BZV6EEeb.js";import{t as x}from"./QTooltip-D5Om2o3Y.js";import{t as S}from"./QSeparator-y-UWrZSp.js";import{s as C,t as ue}from"./use-quasar-CIVlxSZ-.js";import{a as w,i as T,n as E,r as de,t as fe}from"./QPage-BX_DOfKi.js";import{t as pe}from"./QExpansionItem-BPtEjGYj.js";var me={class:`create-inner`},he={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},ge={class:`create-card rounded-borders`},_e={class:`card-top-bar row items-center q-px-md q-py-xs`},ve={class:`model-badge cursor-default row items-center q-gutter-xs`},ye={class:`text-indigo-3 text-weight-medium text-caption`},be={key:0,class:`notion-url-wrap`},xe={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},Se={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},Ce={class:`card-name-wrap`},we={class:`card-textarea-wrap`},Te={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},Ee={class:`q-pa-sm manual-section-body`},De={class:`row items-center q-gutter-sm q-mb-sm`},Oe={class:`col text-caption text-grey-4`},ke={class:`q-pa-sm manual-section-body`},Ae={class:`row items-center q-gutter-sm q-mb-sm`},je={class:`col text-caption text-grey-4`},Me={class:`card-bottom-bar row items-center wrap q-px-sm q-py-xs q-gutter-xs`},Ne={class:`bottom-select-label row items-center no-wrap`},Pe={class:`bottom-select-label row items-center no-wrap`},Fe={class:`bottom-select-label row items-center no-wrap`},Ie={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},D=b(ne({__name:`CreatePage`,setup(ne){let b=se(),D=ue(),O=ce(),k=ae(),{t:A}=le(),j=a([]),M=a(``),N=a(``),P=a(``),F=a(!1),I=a(`auto`),L=a(``),R=a(null),z=a([]),B=a(!1),V=a(!1),H=u(()=>[{label:A(`model.auto`),value:`auto`,description:`Claude picks the optimal model`},{label:A(`model.opus`),value:`claude-opus-4-6`,description:`Most powerful`},{label:A(`model.sonnet`),value:`claude-sonnet-4-6`,description:`Balanced`},{label:A(`model.haiku`),value:`claude-haiku-4-5-20251001`,description:`Fastest`}]),U=u(()=>P.value.trim().startsWith(`https://www.notion.so/`)),W=a([]),G=a([]),K=a(``),q=a(``),J=u(()=>!F.value||!U.value);function Y(){let e=K.value.trim();e&&(W.value.push(e),K.value=``)}function Le(e){W.value.splice(e,1)}function X(){let e=q.value.trim();e&&(G.value.push(e),q.value=``)}function Re(e){G.value.splice(e,1)}function ze(){F.value=!F.value,F.value||(P.value=``)}async function Be(e){if(!e.trim()){z.value=[],R.value=null;return}B.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();z.value=n.local??n.branches??[],z.value.length>0&&!R.value&&(R.value=z.value[0]??null)}catch{z.value=[],R.value=null}finally{B.value=!1}}function Ve(e){let t=k.getProjectByPath(e);t&&(t.defaultSourceBranch&&(R.value=t.defaultSourceBranch),t.defaultModel?I.value=t.defaultModel:k.global.defaultModel&&(I.value=k.global.defaultModel))}let Z=null;i(L,e=>{Z&&clearTimeout(Z),Z=setTimeout(()=>{R.value=null,Be(e),Ve(e)},500)});function He(e,t){t(()=>{j.value=k.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ee(()=>{k.fetchSettings()}),n(()=>{Z&&clearTimeout(Z)});function Ue(e){return e.toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function Q(){return M.value.trim()?M.value.trim().substring(0,80):!F.value&&N.value.trim()&&(N.value.trim().split(`
|
|
2
|
+
`)[0]??``).substring(0,80)||`workspace`}function We(e){let t=(e.split(`/`).pop()??``).split(`-`);return t.length>1&&/^[0-9a-f]{12,}$/i.test(t[t.length-1])&&t.pop(),t.join(`-`).toLowerCase().substring(0,50)||`task-${Date.now()}`}function Ge(){return F.value&&!U.value?A(`createPage.validationNotionUrl`):!F.value&&!N.value.trim()?A(`createPage.validationDescription`):!F.value&&(!Q()||Q()===`workspace`)&&!M.value.trim()&&!N.value.trim()?A(`createPage.validationName`):L.value.trim()?R.value?null:A(`createPage.validationBranch`):A(`createPage.validationPath`)}async function $(){let e=Ge();if(e){D.notify({type:`negative`,message:e,position:`top`});return}V.value=!0;try{let e=Q(),t;t=e===`workspace`?F.value&&U.value?We(P.value.trim()):`task-${Date.now()}`:Ue(e);let n=`feature/${t}`,r={name:e,projectPath:L.value.trim(),sourceBranch:R.value,workingBranch:n,model:I.value,...F.value&&U.value?{notionUrl:P.value.trim()}:{},...J.value&&W.value.length>0?{tasks:W.value}:{},...J.value&&G.value.length>0?{acceptanceCriteria:G.value}:{}},i=await O.createWorkspace(r);oe().subscribe(i.id),O.selectWorkspace(i.id),b.push({name:`workspace`,params:{id:i.id}})}catch{D.notify({type:`negative`,message:A(`createPage.errorCreating`),position:`top`})}finally{V.value=!1}}return(n,i)=>(r(),o(fe,{class:`create-page flex flex-center column`},{default:e(()=>[p(`div`,me,[p(`div`,he,m(n.$t(`createPage.title`)),1),p(`div`,ge,[p(`div`,_e,[p(`span`,ve,[c(h,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),p(`span`,ye,m(n.$t(`createPage.claudeCode`)),1)]),c(y),c(_,{flat:``,dense:``,"no-caps":``,size:`sm`,color:F.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,onClick:ze},{default:e(()=>[c(h,{name:`description`,size:`14px`,class:`q-mr-xs`}),l(` `+m(F.value?n.$t(`createPage.notionEnabled`):n.$t(`createPage.importNotion`)),1)]),_:1},8,[`color`])]),c(S,{color:`grey-9`}),c(ie,{name:`slide`},{default:e(()=>[F.value?(r(),d(`div`,be,[c(C,{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,borderless:``,dense:``,placeholder:n.$t(`createPage.notionPlaceholder`),class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:e(()=>[c(h,{name:`link`,size:`16px`,color:U.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),P.value.trim()&&!U.value?(r(),d(`div`,xe,m(n.$t(`createPage.notionValidation`)),1)):s(``,!0),U.value?(r(),d(`div`,Se,m(n.$t(`createPage.notionAutoExtract`)),1)):s(``,!0)])):s(``,!0)]),_:1}),F.value?(r(),o(S,{key:0,color:`grey-9`})):s(``,!0),p(`div`,Ce,[c(C,{modelValue:M.value,"onUpdate:modelValue":i[1]||=e=>M.value=e,borderless:``,dense:``,placeholder:F.value&&U.value?n.$t(`createPage.workspaceName`):n.$t(`createPage.workspaceNamePlaceholder`),class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),c(S,{color:`grey-9`}),p(`div`,we,[c(C,{modelValue:N.value,"onUpdate:modelValue":i[2]||=e=>N.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:F.value?n.$t(`createPage.instructions`):n.$t(`createPage.instructionsPlaceholder`),class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[g(v($,[`ctrl`]),[`enter`]),g(v($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),c(S,{color:`grey-9`}),J.value?(r(),d(f,{key:1},[p(`div`,Te,m(n.$t(`createPage.manualHint`)),1),c(pe,{dark:``,dense:``,label:n.$t(`createPage.tasks`,{count:W.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:e(()=>[p(`div`,Ee,[p(`div`,De,[c(C,{modelValue:K.value,"onUpdate:modelValue":i[3]||=e=>K.value=e,dark:``,dense:``,borderless:``,placeholder:n.$t(`createPage.addTask`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(v(Y,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),c(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!K.value.trim(),onClick:Y},{default:e(()=>[c(x,null,{default:e(()=>[l(m(n.$t(`tooltip.addTask`)),1)]),_:1})]),_:1},8,[`disable`])]),(r(!0),d(f,null,t(W.value,(t,i)=>(r(),d(`div`,{key:`task-${i}`,class:`row items-center q-py-xs manual-item`},[p(`span`,Oe,m(t),1),c(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Le(i)},{default:e(()=>[c(x,null,{default:e(()=>[l(m(n.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(pe,{dark:``,dense:``,label:n.$t(`createPage.acceptanceCriteria`,{count:G.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:e(()=>[p(`div`,ke,[p(`div`,Ae,[c(C,{modelValue:q.value,"onUpdate:modelValue":i[4]||=e=>q.value=e,dark:``,dense:``,borderless:``,placeholder:n.$t(`createPage.addCriterion`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(v(X,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),c(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!q.value.trim(),onClick:X},{default:e(()=>[c(x,null,{default:e(()=>[l(m(n.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1},8,[`disable`])]),(r(!0),d(f,null,t(G.value,(t,i)=>(r(),d(`div`,{key:`crit-${i}`,class:`row items-center q-py-xs manual-item`},[p(`span`,je,m(t),1),c(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Re(i)},{default:e(()=>[c(x,null,{default:e(()=>[l(m(n.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(S,{color:`grey-9`})],64)):s(``,!0),p(`div`,Me,[c(E,{modelValue:I.value,"onUpdate:modelValue":i[5]||=e=>I.value=e,options:H.value,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:e(()=>[p(`span`,Ne,[l(m(H.value.find(e=>e.value===I.value)?.label??I.value)+` `,1),c(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:e(({opt:t,itemProps:n})=>[c(w,re(n,{class:`model-option`}),{default:e(()=>[c(T,null,{default:e(()=>[c(de,{class:`text-white`},{default:e(()=>[l(m(t.label),1)]),_:2},1024),c(de,{caption:``,class:`text-grey-5`},{default:e(()=>[l(m(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`]),c(y),c(E,{modelValue:L.value,"onUpdate:modelValue":i[6]||=e=>L.value=e,options:j.value,dense:``,borderless:``,"use-input":``,"hide-selected":``,"fill-input":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,behavior:te(k).projectPaths.length>0?`menu`:`dialog`,onFilter:He,onInputValue:i[7]||=e=>{L.value=e}},{prepend:e(()=>[c(h,{name:`attach_file`,size:`12px`,color:`grey-5`})]),selected:e(()=>[p(`span`,Pe,m(L.value||n.$t(`createPage.projectPath`)),1)]),"no-option":e(()=>[c(w,null,{default:e(()=>[c(T,{class:`text-grey-6 text-caption`},{default:e(()=>[l(m(n.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`behavior`]),c(E,{modelValue:R.value,"onUpdate:modelValue":i[8]||=e=>R.value=e,options:z.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,loading:B.value,disable:!L.value.trim()||B.value},{selected:e(()=>[p(`span`,Fe,[c(h,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),l(` `+m(R.value??n.$t(`createPage.branch`))+` `,1),c(h,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":e(()=>[c(w,null,{default:e(()=>[c(T,{class:`text-grey-6 text-caption`},{default:e(()=>[l(m(L.value.trim()?n.$t(`createPage.noBranches`):n.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`]),c(_,{label:n.$t(`createPage.create`),"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:V.value,onClick:$},null,8,[`label`,`loading`])])]),p(`div`,Ie,m(F.value?n.$t(`createPage.notionExtractHint`):n.$t(`createPage.notionImportHint`)),1)])]),_:1}))}}),[[`__scopeId`,`data-v-80e44430`]]);export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.create-page[data-v-80e44430]{background-color:#1a1a2e;min-height:100%;padding:48px 24px}.create-inner[data-v-80e44430]{width:100%;max-width:700px}.create-title[data-v-80e44430]{font-size:24px;line-height:1.3}.create-card[data-v-80e44430]{background:#224;border:1px solid #444;overflow:hidden}.card-top-bar[data-v-80e44430]{background:#1e1e3a;min-height:36px}.card-name-wrap[data-v-80e44430]{background:#224;padding:8px 16px 4px}.card-name-wrap[data-v-80e44430] .q-field__control{height:32px;min-height:32px;padding:0}.card-name-wrap[data-v-80e44430] input{color:#e0e0e0;font-size:15px;font-weight:500}.card-name-wrap[data-v-80e44430] input::placeholder{color:#555}.card-textarea-wrap[data-v-80e44430]{background:#224}.repo-select[data-v-80e44430]{min-width:160px;max-width:260px}.repo-select[data-v-80e44430] .q-field__prepend{align-items:center;height:auto;padding-top:0}.create-textarea[data-v-80e44430]{color:#d0d0d0;width:100%;padding:12px 16px 4px}.create-textarea[data-v-80e44430] .q-field__control{padding:0}.create-textarea[data-v-80e44430] textarea{color:#d0d0d0;resize:none;min-height:100px;font-size:14px;line-height:1.6}.create-textarea[data-v-80e44430] textarea::placeholder{color:#666}.notion-toggle-btn[data-v-80e44430]{background:#333;padding:2px 10px}.notion-url-wrap[data-v-80e44430]{background:#1e1e3a;padding:8px 0 0}.notion-url-input[data-v-80e44430]{padding:0 12px}.notion-url-input[data-v-80e44430] .q-field__control{height:36px;min-height:36px;padding:0}.notion-url-input[data-v-80e44430] input{color:#d0d0d0;font-size:13px}.notion-url-input[data-v-80e44430] input::placeholder{color:#555;font-size:12px}.notion-error[data-v-80e44430],.notion-valid[data-v-80e44430]{padding-bottom:6px}.slide-enter-active[data-v-80e44430],.slide-leave-active[data-v-80e44430]{transition:all .2s;overflow:hidden}.slide-enter-from[data-v-80e44430],.slide-leave-to[data-v-80e44430]{opacity:0;max-height:0}.slide-enter-to[data-v-80e44430],.slide-leave-from[data-v-80e44430]{opacity:1;max-height:120px}.card-bottom-bar[data-v-80e44430]{background:#1e1e3a;min-height:40px}.bottom-select[data-v-80e44430]{background:#333;min-width:60px;height:28px;padding:0 6px}.bottom-select[data-v-80e44430] .q-field__control{height:28px;min-height:28px;padding:0}.bottom-select[data-v-80e44430] .q-field__native{min-height:unset;padding:0}.bottom-select-label[data-v-80e44430]{color:#bbb;gap:2px;font-size:11px}.bottom-sep[data-v-80e44430]{color:#555;padding:0 2px;font-size:12px;line-height:1}.repo-path-wrap[data-v-80e44430]{background:#333;border-radius:6px;height:28px;padding:0 8px}.repo-input[data-v-80e44430]{min-width:140px}.repo-input[data-v-80e44430] .q-field__control{height:28px;min-height:28px;padding:0}.repo-input[data-v-80e44430] input{color:#bbb;font-size:11px}.repo-input[data-v-80e44430] input::placeholder{color:#666;font-size:11px}.branch-select[data-v-80e44430]{min-width:80px}.create-btn[data-v-80e44430]{color:#fff;background:#4f46e5;height:28px;padding:0 14px;font-size:12px}.create-btn[data-v-80e44430] .q-btn__content{height:28px}.create-hint[data-v-80e44430]{line-height:1.5}.fade-enter-active[data-v-80e44430],.fade-leave-active[data-v-80e44430]{transition:opacity .2s}.fade-enter-from[data-v-80e44430],.fade-leave-to[data-v-80e44430]{opacity:0}.manual-hint[data-v-80e44430]{background:#1e1e3a;line-height:1.4}.manual-expansion[data-v-80e44430]{background:#1e1e3a;border:1px solid #333;border-radius:4px;margin-top:6px;overflow:hidden}.manual-expansion[data-v-80e44430] .manual-expansion-header{min-height:32px;padding:4px 10px;font-size:12px}.manual-expansion[data-v-80e44430] .q-expansion-item__content,.manual-section-body[data-v-80e44430]{background:#1a1a2e}.manual-input[data-v-80e44430] .q-field__control{height:26px;min-height:26px;padding:0}.manual-input[data-v-80e44430] input{color:#e0e0e0;font-size:12px}.manual-input[data-v-80e44430] input::placeholder{color:#555}.manual-item[data-v-80e44430]{border-top:1px solid #ffffff0a}.manual-item[data-v-80e44430]:first-child{border-top:none}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.diff-viewer[data-v-c33f6639]{background-color:#1a1a2e}.diff-header[data-v-c33f6639]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}.diff-file-list[data-v-c33f6639]{background-color:#16162a;border-color:#2a2a4a}.diff-dir-item[data-v-c33f6639]{align-items:center;padding:4px 0;display:flex}.diff-dir-item[data-v-c33f6639]:hover{background-color:#ffffff08}.diff-file-item[data-v-c33f6639]{align-items:center;padding:4px 0;transition:background-color .15s;display:flex}.diff-file-item[data-v-c33f6639]:hover{background-color:#2a2a4a}.diff-file-item--active[data-v-c33f6639]{background-color:#2a2a4a;border-left:2px solid #6c63ff;outline:1px solid #6c63ff66}.send-to-chat-btn[data-v-c33f6639]{z-index:10;padding:2px 10px;font-size:11px;position:absolute;bottom:16px;right:16px}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-DCE1BHWQ.js","assets/index-BRIQl1ry.js","assets/runtime-core.esm-bundler-BLPLlWMG.js","assets/nodes-THUz-Chh.js","assets/settings-CYWSNYAA.js","assets/index-eX_lKHSg.css","assets/editor.api-Bm9nrcuM.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-Byxe-pOH.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{H as e,I as t,M as n,P as r,V as i,Z as a,_t as o,d as s,f as c,g as l,gt as u,h as ee,j as te,l as d,p as f,r as p,u as m,v as h,vt as g,x as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{G as v,S as y,b,i as ne,r as x,w as S}from"./nodes-THUz-Chh.js";import{t as re}from"./index-BRIQl1ry.js";import{n as ie}from"./vue-i18n-CoZsbeQK.js";import{t as C}from"./QSpinnerDots-vpiOHlmN.js";import{A as ae,t as w}from"./_plugin-vue_export-helper-BZV6EEeb.js";import{t as oe}from"./QTooltip-D5Om2o3Y.js";import{t as T}from"./QBadge-C_R3Tjb9.js";import{i as E,o as D,t as se}from"./QSeparator-y-UWrZSp.js";var O=v({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=d(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>_(`div`,{class:n.value},S(t.default))}}),ce=v({name:`QBtnToggle`,props:{...D,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=d(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=E(d(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),a=d(()=>ne(e)),o=d(()=>({rounded:e.rounded,dense:e.dense,...a.value})),s=d(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...s}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...s,...o.value,disable:e.disable===!0||s.disable===!0,color:i===e.modelValue?l(s,`toggleColor`):l(s,`color`),textColor:i===e.modelValue?l(s,`toggleTextColor`):l(s,`textColor`),noCaps:l(s,`noCaps`)===!0,noWrap:l(s,`noWrap`)===!0,size:l(s,`size`),padding:l(s,`padding`),ripple:l(s,`ripple`),stack:l(s,`stack`)===!0,stretch:l(s,`stretch`)===!0,onClick(e){c(i,t,e)}}}}));function c(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function l(t,n){return t[n]===void 0?e[n]:t[n]}function u(){let n=s.value.map(e=>_(x,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),y(t.default,n)}return()=>_(O,{class:`q-btn-toggle`,...a.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},u)}}),le={class:`diff-viewer column full-height`},ue={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},k={class:`text-body1 text-weight-medium text-grey-3`},A={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},j={class:`text-grey-7`},M={class:`text-green-4`},N={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},P={class:`row col`,style:{"min-height":`0`}},F={class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,"overflow-y":`auto`,"overflow-x":`hidden`,"border-right":`1px solid #2a2a4a`}},I={key:1,class:`text-caption text-grey-8 q-pa-sm`},L=[`onClick`],R={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},z=[`onClick`],B={class:`text-caption text-grey-3 ellipsis`,style:{"font-size":`11px`}},V={class:`col column`,style:{"min-width":`0`,position:`relative`}},H={key:0,class:`col column items-center justify-center`},U={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},W=w(h({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(h,{emit:_}){let v=h,y=_,{t:ne}=ie(),S=a([]),w=a(``),E=a(``),D=a(null),O=a(!1),W=a(!1),G=a(null),K=a(`side`),q=a(new Set),J=null,Y=null,X=[];function Z(e){let t=0;for(let n of e)n.isDir?t+=Z(n.children):t++;return t}let de=d(()=>{let e=[];for(let t of S.value){let n=t.path.split(`/`),r=e;for(let e=0;e<n.length;e++){let i=n[e],a=e===n.length-1,o=n.slice(0,e+1).join(`/`),s=r.find(e=>e.name===i&&e.isDir===!a);s||(s={name:i,path:a?t.path:o,isDir:!a,status:a?t.status:void 0,children:[]},r.push(s)),r=s.children}}function t(e){e.sort((e,t)=>e.isDir===t.isDir?e.name.localeCompare(t.name):e.isDir?-1:1);for(let n of e)n.children.length>0&&t(n.children)}return t(e),e}),fe=d(()=>{let e=[];function t(n,r){for(let i of n)i.isDir?(e.push({name:i.name,path:i.path,isDir:!0,depth:r,fileCount:Z(i.children)}),q.value.has(i.path)||t(i.children,r+1)):e.push({name:i.name,path:i.path,isDir:!1,depth:r,status:i.status})}return t(de.value,0),e});function pe(e){q.value.has(e)?q.value.delete(e):q.value.add(e)}async function me(){O.value=!0;try{let e=await fetch(`/api/workspaces/${v.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();S.value=t.files,w.value=t.sourceBranch??``,E.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{O.value=!1}}async function Q(e){if(G.value){W.value=!0;try{J||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},J=await re(()=>import(`./editor.main-DCE1BHWQ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),J.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${v.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Y){for(let e of X)e.dispose();X=[];let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}let i=J.editor.createModel(n.original??``,r),a=J.editor.createModel(n.modified??``,r);Y=J.editor.createDiffEditor(G.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:K.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Y.setModel({original:i,modified:a}),he()}catch(e){console.error(`Failed to load file diff:`,e)}finally{W.value=!1}}}let $=a(!1);function he(){if(!Y)return;for(let e of X)e.dispose();X=[];let e=Y.getModifiedEditor(),t=Y.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});X.push(e)}}function ge(){if(!(!Y||!D.value))for(let e of[Y.getModifiedEditor(),Y.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Y.getModifiedEditor()?`modified`:`original`;y(`sendToChat`,`\`\`\`\n// ${D.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}i(D,e=>{e&&Q(e)}),i(K,()=>{Y&&Y.updateOptions({renderSideBySide:K.value===`side`})});function _e(e){switch(e){case`added`:return`add_circle`;case`deleted`:return`remove_circle`;case`renamed`:return`drive_file_rename_outline`;default:return`edit`}}function ve(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return te(me),n(()=>{for(let e of X)e.dispose();if(X=[],Y){let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}}),(n,i)=>(r(),f(`div`,le,[m(`div`,ue,[l(b,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),m(`span`,k,g(n.$t(`diff.title`)),1),l(T,{label:`${S.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),w.value?(r(),f(`span`,A,[m(`span`,j,g(w.value),1),l(b,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),m(`span`,M,g(E.value),1)])):c(``,!0),D.value?(r(),f(`span`,N,g(D.value),1)):c(``,!0),l(ae),l(ce,{modelValue:K.value,"onUpdate:modelValue":i[0]||=e=>K.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:n.$t(`diff.side`),value:`side`},{label:n.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),l(x,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:i[1]||=e=>y(`close`)},{default:e(()=>[l(oe,null,{default:e(()=>[ee(g(n.$t(`tooltip.closeDiffViewer`)),1)]),_:1})]),_:1})]),l(se,{dark:``}),m(`div`,P,[m(`div`,F,[O.value?(r(),s(C,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):S.value.length===0?(r(),f(`div`,I,g(n.$t(`diff.noChanges`)),1)):(r(!0),f(p,{key:2},t(fe.value,e=>(r(),f(p,{key:e.path},[e.isDir?(r(),f(`div`,{key:0,class:`diff-dir-item cursor-pointer`,style:o({paddingLeft:`${e.depth*12+4}px`}),onClick:t=>pe(e.path)},[l(b,{name:q.value.has(e.path)?`chevron_right`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),l(b,{name:`folder`,size:`13px`,color:`amber-7`,class:`q-mx-xs`}),m(`span`,R,g(e.name),1),l(T,{label:e.fileCount,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],12,L)):(r(),f(`div`,{key:1,class:u([`diff-file-item cursor-pointer`,{"diff-file-item--active":D.value===e.path}]),style:o({paddingLeft:`${e.depth*12+20}px`}),onClick:t=>D.value=e.path},[l(b,{name:_e(e.status),size:`11px`,style:o({color:ve(e.status)}),class:`q-mr-xs`},null,8,[`name`,`style`]),m(`span`,B,g(e.name),1)],14,z))],64))),128))]),m(`div`,V,[W.value?(r(),f(`div`,H,[l(C,{size:`32px`,color:`indigo-4`})])):D.value?c(``,!0):(r(),f(`div`,U,g(n.$t(`diff.selectFile`)),1)),m(`div`,{ref_key:`editorContainer`,ref:G,class:`col`,style:{"min-height":`0`}},null,512),$.value?(r(),s(x,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:n.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:ge},null,8,[`label`])):c(``,!0)])])]))}}),[[`__scopeId`,`data-v-c33f6639`]]);export{W as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-DsVIBuje.js","assets/index-BRIQl1ry.js","assets/runtime-core.esm-bundler-BLPLlWMG.js","assets/nodes-THUz-Chh.js","assets/settings-CYWSNYAA.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-BZV6EEeb.js","assets/vue-i18n-CoZsbeQK.js","assets/QBadge-C_R3Tjb9.js","assets/QSeparator-y-UWrZSp.js","assets/QSpinnerDots-vpiOHlmN.js","assets/QTooltip-D5Om2o3Y.js","assets/DiffViewer-DpdWjInq.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{C as e,F as t,H as n,I as r,L as i,M as a,O as o,P as s,T as c,U as l,V as u,X as d,Z as f,_ as p,_t as m,d as h,f as g,g as _,gt as v,h as y,j as b,l as x,nt as S,p as C,r as w,u as T,v as E,vt as D,x as O,y as k}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{B as A,D as j,E as M,F as N,G as P,H as F,K as I,L,P as R,R as z,S as ee,U as B,V,W as H,X as te,Y as U,b as W,d as ne,f as re,nt as G,r as K,rt as q,tt as ie,w as ae,x as oe,z as se}from"./nodes-THUz-Chh.js";import{t as ce}from"./settings-CYWSNYAA.js";import{a as le,d as ue,l as de,m as fe,o as pe,p as me,r as J,s as Y,t as he}from"./index-BRIQl1ry.js";import{n as X}from"./vue-i18n-CoZsbeQK.js";import{A as ge,C as _e,S as ve,c as ye,d as be,k as xe,l as Se,m as Ce,p as we,t as Z,u as Te,w as Ee}from"./_plugin-vue_export-helper-BZV6EEeb.js";import{t as Q}from"./QTooltip-D5Om2o3Y.js";import{t as De}from"./QBadge-C_R3Tjb9.js";import{n as Oe,r as ke,t as $}from"./QSeparator-y-UWrZSp.js";import{_ as Ae,b as je,n as Me,s as Ne,t as Pe,y as Fe}from"./use-quasar-CIVlxSZ-.js";import{a as Ie,c as Le,i as Re,l as ze,n as Be,o as Ve,r as He,s as Ue,t as We,u as Ge}from"./use-checkbox-ts4I7GAt.js";import{t as Ke}from"./formatters-B3FG1fMI.js";function qe(e,t,n){let r=A(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var Je=0,Ye=I({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&U.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?H(e):(n.stop===!0&&B(e),n.prevent===!0&&V(e))}let i={uid:`qvtp_`+ Je++,handler:t,modifiers:n,direction:ze(n),noop:se,mouseStart(e){Ge(e,i)&&L(e)&&(R(i,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),i.start(e,!0))},touchStart(e){if(Ge(e,i)){let t=e.target;R(i,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),i.start(e)}},start(t,r){if(U.is.firefox===!0&&F(e,!0),i.lastEvt=t,r===!0||n.stop===!0){if(i.direction.all!==!0&&(r!==!0||i.modifiers.mouseAllDir!==!0&&i.modifiers.mousealldir!==!0)){let e=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&V(e),t.cancelBubble===!0&&B(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[i.uid]:t.qClonedBy.concat(i.uid)}),i.initialEvent={target:t.target,event:e}}B(t)}let{left:a,top:o}=A(t);i.event={x:a,y:o,time:Date.now(),mouse:r===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:a,lastY:o}},move(e){if(i.event===void 0)return;let t=A(e),a=t.left-i.event.x,o=t.top-i.event.y;if(a===0&&o===0)return;i.lastEvt=e;let s=i.event.mouse===!0,c=()=>{r(e,s);let t;n.preserveCursor!==!0&&n.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),s===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),xe(),i.styleCleanup=e=>{if(i.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),s===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(i.event.detected===!0){i.event.isFirst!==!0&&r(e,i.event.mouse);let{payload:t,synthetic:n}=qe(e,i,!1);t!==void 0&&(i.handler(t)===!1?i.end(e):(i.styleCleanup===void 0&&i.event.isFirst===!0&&c(),i.event.lastX=t.position.left,i.event.lastY=t.position.top,i.event.lastDir=n===!0?void 0:t.direction,i.event.isFirst=!1));return}if(i.direction.all===!0||s===!0&&(i.modifiers.mouseAllDir===!0||i.modifiers.mousealldir===!0)){c(),i.event.detected=!0,i.move(e);return}let l=Math.abs(a),u=Math.abs(o);l!==u&&(i.direction.horizontal===!0&&l>u||i.direction.vertical===!0&&l<u||i.direction.up===!0&&l<u&&o<0||i.direction.down===!0&&l<u&&o>0||i.direction.left===!0&&l>u&&a<0||i.direction.right===!0&&l>u&&a>0?(i.event.detected=!0,i.move(e)):i.end(e,!0))},end(t,n){if(i.event!==void 0){if(N(i,`temp`),U.is.firefox===!0&&F(e,!1),n===!0)i.styleCleanup?.(),i.event.detected!==!0&&i.initialEvent!==void 0&&i.initialEvent.target.dispatchEvent(i.initialEvent.event);else if(i.event.detected===!0){i.event.isFirst===!0&&i.handler(qe(t===void 0?i.lastEvt:t,i).payload);let{payload:e}=qe(t===void 0?i.lastEvt:t,i,!0),n=()=>{i.handler(e)};i.styleCleanup===void 0?n():i.styleCleanup(n)}i.event=void 0,i.initialEvent=void 0,i.lastEvt=void 0}}};e.__qtouchpan=i,n.mouse===!0&&R(i,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),U.has.touch===!0&&R(i,`main`,[[e,`touchstart`,`touchStart`,`passive${n.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=ze(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),N(t,`main`),N(t,`temp`),U.is.firefox===!0&&F(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}}),Xe=150,Ze=P({name:`QDrawer`,inheritAttrs:!1,props:{...Ee,...ke,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[..._e,`onLayout`,`miniState`],setup(t,{slots:n,emit:r,attrs:i}){let a=k(),{proxy:{$q:s}}=a,d=Oe(t,s),{preventBodyScroll:p}=Fe(),{registerTimeout:m,removeTimeout:h}=Ce(),g=e(me,ue);if(g===ue)return console.error(`QDrawer needs to be child of QLayout`),ue;let _,v=null,y,S=f(t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint),C=x(()=>t.mini===!0&&S.value!==!0),w=x(()=>C.value===!0?t.miniWidth:t.width),T=f(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),E=x(()=>t.persistent!==!0&&(S.value===!0||W.value===!0));function D(e,t){if(N(),e!==!1&&g.animate(),J(0),S.value===!0){let e=g.instances[V.value];e?.belowBreakpoint===!0&&e.hide(!1),Y(1),g.isContainer.value!==!0&&p(!0)}else Y(0),e!==!1&&he(!1);m(()=>{e!==!1&&he(!0),t!==!0&&r(`show`,e)},Xe)}function A(e,t){P(),e!==!1&&g.animate(),Y(0),J(L.value*w.value),ye(),t===!0?h():m(()=>{r(`hide`,e)},Xe)}let{show:j,hide:M}=ve({showing:T,hideOnRouteChange:E,handleShow:D,handleHide:A}),{addToHistory:N,removeFromHistory:P}=je(T,M,E),F={belowBreakpoint:S,hide:M},I=x(()=>t.side===`right`),L=x(()=>(s.lang.rtl===!0?-1:1)*(I.value===!0?1:-1)),R=f(0),z=f(!1),ee=f(!1),B=f(w.value*L.value),V=x(()=>I.value===!0?`left`:`right`),H=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),te=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(I.value?`R`:`L`)!==-1||s.platform.is.ios===!0&&g.isContainer.value===!0),U=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),W=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),ne=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&z.value===!1?` hidden`:``)),re=x(()=>({backgroundColor:`rgba(0,0,0,${R.value*.4})`})),G=x(()=>I.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),K=x(()=>I.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),q=x(()=>{let e={};return g.header.space===!0&&G.value===!1&&(te.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&K.value===!1&&(te.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),ie=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${B.value}px)`};return S.value===!0?e:Object.assign(e,q.value)}),se=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),ce=x(()=>`q-drawer q-drawer--${t.side}`+(ee.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(d.value===!0?` q-drawer--dark q-dark`:``)+(z.value===!0?` no-transition`:T.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(te.value===!0||U.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(G.value===!0?` q-drawer--top-padding`:``))),le=x(()=>[[Ye,ge,void 0,{[s.lang.rtl===!0?t.side:V.value]:!0,mouse:!0}]]),de=x(()=>[[Ye,_e,void 0,{[s.lang.rtl===!0?V.value:t.side]:!0,mouse:!0}]]),fe=x(()=>[[Ye,_e,void 0,{[s.lang.rtl===!0?V.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function pe(){xe(S,t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint)}u(S,e=>{e===!0?(_=T.value,T.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&_!==!1&&(T.value===!0?(J(0),Y(0),ye()):j(!1))}),u(()=>t.side,(e,t)=>{g.instances[t]===F&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=F,g[e].size=w.value,g[e].space=U.value,g[e].offset=H.value}),u(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&pe()}),u(()=>t.behavior+t.breakpoint,pe),u(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&pe()}),u(g.scrollbarWidth,()=>{J(T.value===!0?0:void 0)}),u(H,e=>{be(`offset`,e)}),u(U,e=>{r(`onLayout`,e),be(`space`,e)}),u(I,()=>{J()}),u(w,e=>{J(),Se(t.miniToOverlay,e)}),u(()=>t.miniToOverlay,e=>{Se(e,w.value)}),u(()=>s.lang.rtl,()=>{J()}),u(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(X(),g.animate())}),u(C,e=>{r(`miniState`,e)});function J(e){e===void 0?c(()=>{e=T.value===!0?0:w.value,J(L.value*e)}):(g.isContainer.value===!0&&I.value===!0&&(S.value===!0||Math.abs(e)===w.value)&&(e+=L.value*g.scrollbarWidth.value),B.value=e)}function Y(e){R.value=e}function he(e){let t=e===!0?`remove`:g.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function X(){v!==null&&clearTimeout(v),a.proxy&&a.proxy.$el&&a.proxy.$el.classList.add(`q-drawer--mini-animate`),ee.value=!0,v=setTimeout(()=>{v=null,ee.value=!1,a?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function ge(e){if(T.value!==!1)return;let t=w.value,n=Ae(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),Y(0),J(L.value*t)),z.value=!1;return}J((s.lang.rtl===!0?I.value!==!0:I.value)?Math.max(t-n,0):Math.min(0,n-t)),Y(Ae(n/t,0,1)),e.isFirst===!0&&(z.value=!0)}function _e(e){if(T.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(s.lang.rtl===!0?r!==!0:r)?Ae(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),Y(1),J(0)):M(),z.value=!1;return}J(L.value*i),Y(Ae(1-i/n,0,1)),e.isFirst===!0&&(z.value=!0)}function ye(){p(!1),he(!0)}function be(e,n){g.update(t.side,e,n)}function xe(e,t){e.value!==t&&(e.value=t)}function Se(e,n){be(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=F,Se(t.miniToOverlay,w.value),be(`space`,U.value),be(`offset`,H.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&r(`update:modelValue`,!0),b(()=>{r(`onLayout`,U.value),r(`miniState`,C.value),_=t.showIfAbove===!0;let e=()=>{(T.value===!0?D:A)(!1,!0)};if(g.totalWidth.value!==0){c(e);return}y=u(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):e()})}),o(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&ye(),g.instances[t.side]===F&&(g.instances[t.side]=void 0,be(`size`,0),be(`offset`,0),be(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(l(O(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),le.value)),e.push(oe(`div`,{ref:`backdrop`,class:ne.value,style:re.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>fe.value)));let r=C.value===!0&&n.mini!==void 0,a=[O(`div`,{...i,key:String(r),class:[se.value,i.class]},r===!0?n.mini():ae(n.default))];return t.elevated===!0&&T.value===!0&&a.push(O(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(oe(`aside`,{ref:`content`,class:ce.value,style:ie.value},a,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>de.value)),O(`div`,{class:`q-drawer-container`},e)}}}),Qe=P({name:`QPageContainer`,setup(n,{slots:r}){let{proxy:{$q:i}}=k(),a=e(me,ue);if(a===ue)return console.error(`QPageContainer needs to be child of QLayout`),ue;t(fe,!0);let o=x(()=>{let e={};return a.header.space===!0&&(e.paddingTop=`${a.header.size}px`),a.right.space===!0&&(e[`padding${i.lang.rtl===!0?`Left`:`Right`}`]=`${a.right.size}px`),a.footer.space===!0&&(e.paddingBottom=`${a.footer.size}px`),a.left.space===!0&&(e[`padding${i.lang.rtl===!0?`Right`:`Left`}`]=`${a.left.size}px`),e});return()=>O(`div`,{class:`q-page-container`,style:o.value},ae(r.default))}}),{passive:$e}=z,et=[`both`,`horizontal`,`vertical`],tt=P({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>et.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:we},emits:[`scroll`],setup(e,{emit:t}){let n={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},r=null,i,a;u(()=>e.scrollTarget,()=>{l(),c()});function s(){r?.();let a=Math.max(0,be(i)),o=ye(i),s={top:a-n.position.top,left:o-n.position.left};if(e.axis===`vertical`&&s.top===0||e.axis===`horizontal`&&s.left===0)return;let c=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?`up`:`down`:s.left<0?`left`:`right`;n.position={top:a,left:o},n.directionChanged=n.direction!==c,n.delta=s,n.directionChanged===!0&&(n.direction=c,n.inflectionPoint=n.position),t(`scroll`,{...n})}function c(){i=Se(a,e.scrollTarget),i.addEventListener(`scroll`,d,$e),d(!0)}function l(){i!==void 0&&(i.removeEventListener(`scroll`,d,$e),i=void 0)}function d(t){if(t===!0||e.debounce===0||e.debounce===`0`)s();else if(r===null){let[t,n]=e.debounce?[setTimeout(s,e.debounce),clearTimeout]:[requestAnimationFrame(s),cancelAnimationFrame];r=()=>{n(t),r=null}}}let{proxy:f}=k();return u(()=>f.$q.lang.rtl,s),b(()=>{a=f.$el.parentNode,c()}),o(()=>{r?.(),l()}),Object.assign(f,{trigger:d,getPosition:()=>n}),se}}),nt=P({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:n,emit:r}){let{proxy:{$q:i}}=k(),o=f(null),s=f(i.screen.height),c=f(e.container===!0?0:i.screen.width),l=f({position:0,direction:`down`,inflectionPoint:0}),p=f(0),m=f(te.value===!0?0:Te()),h=x(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),g=x(()=>e.container===!1?{minHeight:i.screen.height+`px`}:null),_=x(()=>m.value===0?null:{[i.lang.rtl===!0?`left`:`right`]:`${m.value}px`}),v=x(()=>m.value===0?null:{[i.lang.rtl===!0?`right`:`left`]:0,[i.lang.rtl===!0?`left`:`right`]:`-${m.value}px`,width:`calc(100% + ${m.value}px)`});function y(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};l.value=n,e.onScroll!==void 0&&r(`scroll`,n)}}function b(t){let{height:n,width:i}=t,a=!1;s.value!==n&&(a=!0,s.value=n,e.onScrollHeight!==void 0&&r(`scrollHeight`,n),C()),c.value!==i&&(a=!0,c.value=i),a===!0&&e.onResize!==void 0&&r(`resize`,t)}function S({height:e}){p.value!==e&&(p.value=e,C())}function C(){if(e.container===!0){let e=s.value>p.value?Te():0;m.value!==e&&(m.value=e)}}let w=null,T={instances:{},view:x(()=>e.view),isContainer:x(()=>e.container),rootRef:o,height:s,containerHeight:p,scrollbarWidth:m,totalWidth:x(()=>c.value+m.value),rows:x(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:d({size:0,offset:0,space:!1}),right:d({size:300,offset:0,space:!1}),footer:d({size:0,offset:0,space:!1}),left:d({size:300,offset:0,space:!1}),scroll:l,animate(){w===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(w),w=setTimeout(()=>{w=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){T[e][t]=n}};if(t(me,T),Te()>0){let t=null,n=document.body;function r(){t=null,n.classList.remove(`hide-scrollbar`)}function o(){if(t===null){if(n.scrollHeight>i.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(r,300)}function s(e){t!==null&&e===`remove`&&(clearTimeout(t),r()),window[`${e}EventListener`](`resize`,o)}u(()=>e.container===!0?`remove`:`add`,s),e.container!==!0&&s(`add`),a(()=>{s(`remove`)})}return()=>{let t=ee(n.default,[O(tt,{onScroll:y}),O(Ue,{onResize:b})]),r=O(`div`,{class:h.value,style:g.value,ref:e.container===!0?void 0:o,tabindex:-1},t);return e.container===!0?O(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[O(Ue,{onResize:S}),O(`div`,{class:`absolute-full`,style:_.value},[O(`div`,{class:`scroll`,style:v.value},[r])])]):r}}}),rt={class:`acceptance-panel q-pa-md`},it={class:`row items-center q-mb-sm`},at={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ot={key:0,class:`criterion-add-row row items-center q-mb-xs`},st={key:1,class:`acceptance-list`},ct=[`onDblclick`],lt={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},ut=Z(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let{t}=X(),i=Y(),a=f(!1),o=f(``),l=f(null),u=f(``),d=f({});function p(e,t){if(t){let n=t.$el??t;d.value[e]=n}else delete d.value[e]}function b(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function x(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function E(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);i.selectedWorkspaceId&&i.fetchWorkspaceDetails(i.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function O(){a.value=!0,o.value=``}async function k(){let e=o.value.trim(),t=i.selectedWorkspace?.id;if(!(!e||!t))try{await i.createTask(t,e,!0),o.value=``,a.value=!1}catch{}}function A(){o.value=``,a.value=!1}function j(e){l.value=e.id,u.value=e.title,c(()=>{let t=d.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function M(e){if(l.value!==e.id)return;let t=u.value.trim(),n=e.id;if(l.value=null,!t||t===e.title)return;let r=i.selectedWorkspace?.id;if(r)try{await i.updateTaskTitle(r,n,t)}catch{}}function N(){l.value=null,u.value=``}async function P(e){let t=i.selectedWorkspace?.id;if(t)try{await i.deleteTask(t,e.id)}catch{}}return(t,c)=>(s(),C(`div`,rt,[T(`div`,it,[T(`div`,at,D(t.$t(`acceptance.title`)),1),_(ge),S(i).selectedWorkspace?(s(),h(K,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:O},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):g(``,!0)]),a.value?(s(),C(`div`,ot,[_(Ne,{modelValue:o.value,"onUpdate:modelValue":c[0]||=e=>o.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[G(q(k,[`prevent`]),[`enter`]),G(q(A,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):g(``,!0),e.tasks.length>0?(s(),C(`div`,st,[(s(!0),C(w,null,r(e.tasks,e=>(s(),C(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[_(W,{name:b(e.status),size:`16px`,style:m({color:x(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>E(e)},null,8,[`name`,`style`,`onClick`]),l.value===e.id?(s(),h(Ne,{key:0,ref_for:!0,ref:t=>p(e.id,t),modelValue:u.value,"onUpdate:modelValue":c[1]||=e=>u.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[G(q(t=>M(e),[`prevent`]),[`enter`]),G(q(N,[`prevent`]),[`esc`])],onBlur:t=>M(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(s(),C(w,{key:1},[T(`span`,{class:v([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:m({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>j(e)},D(e.title),47,ct),_(K,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>P(e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):a.value?g(``,!0):(s(),C(`div`,lt,D(t.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-663f266d`]]),dt={class:`agent-todos-panel q-pa-md`},ft={class:`row items-center q-mb-sm`},pt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},mt={key:0,class:`todos-list`},ht={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},gt=Z(E({__name:`AgentTodosPanel`,setup(e){let{t}=X(),n=Y();function i(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function a(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(s(),C(`div`,dt,[T(`div`,ft,[T(`div`,pt,D(e.$t(`agentTodos.title`)),1)]),S(n).currentAgentTodos.length>0?(s(),C(`div`,mt,[(s(!0),C(w,null,r(S(n).currentAgentTodos,(e,t)=>(s(),C(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[_(W,{name:i(e.status),size:`14px`,style:m({color:a(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),T(`span`,{class:v([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:m({color:e.status===`completed`?`#4ade80`:`#ccc`})},D(e.content),7)]))),128))])):(s(),C(`div`,ht,D(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),_t=P({name:`QCardSection`,props:{tag:{type:String,default:`div`},horizontal:Boolean},setup(e,{slots:t}){let n=x(()=>`q-card__section q-card__section--${e.horizontal===!0?`horiz row no-wrap`:`vert`}`);return()=>O(e.tag,{class:n.value},ae(t.default))}}),vt=P({name:`QCard`,props:{...ke,tag:{type:String,default:`div`},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:n}}=k(),r=Oe(e,n),i=x(()=>`q-card`+(r.value===!0?` q-card--dark q-dark`:``)+(e.bordered===!0?` q-card--bordered`:``)+(e.square===!0?` q-card--square no-border-radius`:``)+(e.flat===!0?` q-card--flat no-shadow`:``));return()=>O(e.tag,{class:i.value},ae(t.default))}}),yt={class:`log-text rounded-borders q-pa-md`},bt=Z(E({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(e){let t=e,r=de(),i=f(``),o=f(!1),l=f(null),d=null;async function p(){if(t.workspaceId){o.value=!0;try{i.value=await r.fetchLogs(t.workspaceId),await c(),m()}finally{o.value=!1}}}function m(){l.value&&(l.value.scrollTop=l.value.scrollHeight)}function g(){v(),d=setInterval(()=>{p()},5e3)}function v(){d&&=(clearInterval(d),null)}return u(()=>t.modelValue,e=>{e?(p(),g()):v()}),a(()=>{v()}),(t,r)=>(s(),h(Me,{"model-value":e.modelValue,"onUpdate:modelValue":r[1]||=e=>t.$emit(`update:modelValue`,e)},{default:n(()=>[_(vt,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:n(()=>[_(_t,{class:`row items-center`},{default:n(()=>[r[2]||=T(`div`,{class:`text-h6`},`Logs Dev Server`,-1),_(ge),_(K,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:p,loading:o.value},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),_(K,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:r[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),_($,{dark:``}),_(_t,{class:`log-content`,ref_key:`logContainer`,ref:l},{default:n(()=>[T(`pre`,yt,D(i.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-9e03d2b2`]]),xt={class:`dd-panel q-px-md q-py-sm`},St={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},Ct={key:0,class:`text-caption text-grey-8`},wt={key:1,class:`text-caption text-grey-8`},Tt={class:`row items-center q-mb-xs`},Et={key:0,class:`text-caption q-mb-xs`},Dt=[`href`],Ot={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},kt={key:2,class:`text-caption text-red-5`},At=Z(E({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let t=e,{t:r}=X(),o=de(),c=ce(),l=f(!1),d=f(!1),p=f(!1),m=null,v=x(()=>t.workspace?.id??``),S=x(()=>t.workspace?!!c.getProjectByPath(t.workspace.projectPath)?.devServer?.startCommand:!1),E=x(()=>v.value?o.getStatus(v.value):null),O=x(()=>{switch(E.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),k=x(()=>{switch(E.value?.status){case`running`:return r(`devServer.running`);case`starting`:return r(`devServer.starting`);case`stopping`:return r(`devServer.stopping`);case`error`:return r(`devServer.error`);case`stopped`:return r(`devServer.stopped`);default:return r(`devServer.unknown`)}}),A=x(()=>{let e=E.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),j=x(()=>{let e=E.value?.status;return e===`running`||e===`starting`});async function M(){if(v.value){d.value=!0;try{await o.startDevServer(v.value)}finally{d.value=!1}}}async function N(){if(v.value){p.value=!0;try{await o.stopDevServer(v.value)}finally{p.value=!1}}}function P(){v.value&&S.value&&o.fetchStatus(v.value)}function F(){I(),m=setInterval(()=>{P()},3e4)}function I(){m&&=(clearInterval(m),null)}return u(v,()=>{P(),F()}),b(()=>{P(),F()}),a(()=>{I()}),(t,r)=>{let a=i(`router-link`);return s(),C(`div`,xt,[T(`div`,St,D(t.$t(`devServer.title`)),1),e.workspace?S.value?E.value?(s(),C(w,{key:2},[T(`div`,Tt,[_(De,{color:O.value,label:k.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),_(ge),A.value?(s(),h(K,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:M,loading:d.value},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):g(``,!0),j.value?(s(),h(K,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:N,loading:p.value},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):g(``,!0),_(K,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:r[0]||=e=>l.value=!0},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),E.value.status===`running`&&E.value.url?(s(),C(`div`,Et,[T(`a`,{href:E.value.url,target:`_blank`,style:{color:`#6c63ff`}},D(E.value.url),9,Dt)])):g(``,!0),E.value.containers.length>0?(s(),C(`div`,Ot,D(t.$t(`devServer.containers`,{count:E.value.containers.length},E.value.containers.length)),1)):g(``,!0),E.value.error?(s(),C(`div`,kt,D(E.value.error),1)):g(``,!0)],64)):g(``,!0):(s(),C(`div`,wt,[y(D(t.$t(`devServer.notConfigured`))+` `,1),_(a,{to:`/settings`,style:{color:`#6c63ff`}},{default:n(()=>[y(D(t.$t(`devServer.goToSettings`)),1)]),_:1})])):(s(),C(`div`,Ct,D(t.$t(`devServer.noWorkspace`)),1)),v.value?(s(),h(bt,{key:3,modelValue:l.value,"onUpdate:modelValue":r[1]||=e=>l.value=e,"workspace-id":v.value},null,8,[`modelValue`,`workspace-id`])):g(``,!0)])}}}),[[`__scopeId`,`data-v-20c5f4bd`]]),jt={class:`git-panel q-pa-md`},Mt={class:`row items-center justify-between q-mb-sm`},Nt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Pt={class:`row items-center q-mb-sm`},Ft={class:`text-caption text-grey-3`},It={class:`row items-center q-mb-sm`},Lt={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Rt={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},zt={key:0},Bt={key:1,style:{color:`#4ade80`}},Vt={key:2,style:{color:`#f59e0b`}},Ht={class:`row items-center q-mb-xs`},Ut={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Wt={key:0,class:`row items-center q-mb-md`},Gt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Kt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},qt={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Jt={key:1,class:`q-mb-xs`},Yt={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},Xt={key:0,class:`text-caption`,style:{color:`#4ade80`}},Zt={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Qt={key:2,class:`text-caption text-grey-6`},$t={key:3,class:`q-mb-md`},en={class:`row q-gutter-xs`},tn={key:1,class:`text-caption text-grey-8`},nn=Z(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let t=p(()=>he(()=>import(`./DiffViewer-DsVIBuje.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),r=e,{t:i}=X(),o=Pe(),c=Y(),l=ce(),d=f(!1),m=f(!1),v=f(!1),b=f(!1),E=x(()=>!!l.global.editorCommand);async function O(){if(r.workspace){b.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/open-editor`,{method:`POST`});if(!e.ok){let t=await e.json();o.notify({type:`negative`,message:t.error??i(`git.openEditorFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:i(`git.openEditorFailed`);o.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}}}function k(e){c.chatDraft=e,v.value=!1}let A=f(null),j=f(!1),M=x(()=>{if(!r.workspace?.projectPath)return`-`;let e=r.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function N(){if(!r.workspace){A.value=null;return}j.value=!0;try{A.value=await c.fetchGitStats(r.workspace.id)}catch{A.value=null}finally{j.value=!1}}u(()=>r.workspace?.id,()=>N(),{immediate:!0});let P=null;u(()=>c.gitRefreshTrigger,()=>{P&&clearTimeout(P),P=setTimeout(()=>N(),3e3)}),a(()=>{P&&clearTimeout(P)});async function F(){if(r.workspace){d.value=!0;try{await c.pushBranch(r.workspace.id),o.notify({type:`positive`,message:i(`git.branchPushed`),position:`top`}),N()}catch(e){let t=e instanceof Error?e.message:`Push failed`;o.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{d.value=!1}}}function I(){A.value?.prUrl&&window.open(A.value.prUrl,`_blank`)}async function L(){if(r.workspace){m.value=!0;try{let e=await c.openPullRequest(r.workspace.id);o.notify({type:`positive`,message:i(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),N()}catch(e){if(e instanceof pe&&e.code===`branch_not_pushed`){o.notify({type:`warning`,message:i(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof pe&&e.code===`unpushed_commits`){o.notify({type:`warning`,message:i(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;o.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}}}return(r,i)=>(s(),C(`div`,jt,[T(`div`,Mt,[T(`div`,Nt,D(r.$t(`git.title`)),1),e.workspace?(s(),h(K,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:j.value,onClick:N},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(r.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):g(``,!0)]),e.workspace?(s(),C(w,{key:0},[T(`div`,Pt,[_(W,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Ft,D(M.value),1)]),T(`div`,It,[i[3]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,Lt,D(e.workspace.workingBranch),1)]),T(`div`,Rt,[y(D(r.$t(`git.from`))+` `+D(e.workspace.sourceBranch)+` `,1),A.value?(s(),C(w,{key:0},[i[4]||=y(` · `,-1),A.value.unpushedCount===-1?(s(),C(`span`,zt,D(r.$t(`git.localOnly`)),1)):A.value.unpushedCount===0?(s(),C(`span`,Bt,D(r.$t(`git.pushed`)),1)):(s(),C(`span`,Vt,D(r.$t(`git.unpushed`,{count:A.value.unpushedCount})),1))],64)):g(``,!0)]),A.value?(s(),C(w,{key:0},[T(`div`,Ht,[_(W,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Ut,D(r.$t(`git.commits`,{count:A.value.commitCount},A.value.commitCount)),1)]),A.value.filesChanged>0?(s(),C(`div`,Wt,[_(W,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Gt,D(r.$t(`git.files`,{count:A.value.filesChanged},A.value.filesChanged)),1),A.value.insertions>0?(s(),C(`span`,Kt,` +`+D(A.value.insertions),1)):g(``,!0),A.value.deletions>0?(s(),C(`span`,qt,` -`+D(A.value.deletions),1)):g(``,!0)])):(s(),C(`div`,Jt)),A.value.workingTree&&(A.value.workingTree.staged>0||A.value.workingTree.modified>0||A.value.workingTree.untracked>0)?(s(),C(`div`,Yt,[_(W,{name:`edit_note`,size:`14px`,color:`grey-6`}),A.value.workingTree.staged>0?(s(),C(`span`,Xt,D(r.$t(`git.staged`,{count:A.value.workingTree.staged})),1)):g(``,!0),A.value.workingTree.modified>0?(s(),C(`span`,Zt,D(r.$t(`git.modified`,{count:A.value.workingTree.modified})),1)):g(``,!0),A.value.workingTree.untracked>0?(s(),C(`span`,Qt,D(r.$t(`git.untracked`,{count:A.value.workingTree.untracked})),1)):g(``,!0)])):(s(),C(`div`,$t))],64)):g(``,!0),T(`div`,en,[A.value?.prUrl?(s(),h(K,{key:0,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,label:r.$t(`git.viewPr`),icon:`open_in_new`,class:`git-btn`,onClick:I},null,8,[`label`])):g(``,!0),!A.value?.prUrl||A.value.prState===`CLOSED`||A.value.prState===`MERGED`?(s(),h(K,{key:1,dense:``,"no-caps":``,size:`sm`,color:`primary`,label:r.$t(`git.createPr`),class:`git-btn`,loading:m.value,disable:!e.workspace||d.value,onClick:L},null,8,[`label`,`loading`,`disable`])):g(``,!0),!A.value||A.value.unpushedCount!==0?(s(),h(K,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:r.$t(`git.push`),class:`git-btn`,loading:d.value,disable:!e.workspace||m.value,onClick:F},null,8,[`label`,`loading`,`disable`])):g(``,!0),_(K,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,label:r.$t(`git.diff`),icon:`difference`,class:`git-btn`,disable:!e.workspace,onClick:i[0]||=e=>v.value=!0},null,8,[`label`,`disable`]),E.value?(s(),h(K,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:r.$t(`git.openEditor`),loading:b.value,disable:!e.workspace,class:`git-btn`,onClick:O},null,8,[`label`,`loading`,`disable`])):g(``,!0)])],64)):(s(),C(`div`,tn,D(r.$t(`common.selectWorkspace`)),1)),_(Me,{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e,maximized:``},{default:n(()=>[e.workspace?(s(),h(S(t),{key:0,"workspace-id":e.workspace.id,onClose:i[1]||=e=>v.value=!1,onSendToChat:k},null,8,[`workspace-id`])):g(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-d48ba3fd`]]),rn={xs:2,sm:4,md:6,lg:10,xl:14};function an(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var on=P({name:`QLinearProgress`,props:{...ke,...j,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:n}=k(),r=Oe(e,n.$q),i=M(e,rn),a=x(()=>e.indeterminate===!0||e.query===!0),o=x(()=>e.reverse!==e.query),s=x(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=x(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse===!0||e.query===!0?` q-linear-progress--reverse`:``)+(e.rounded===!0?` rounded-borders`:``)),l=x(()=>an(e.buffer===void 0?1:e.buffer,o.value,n.$q)),u=x(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),d=x(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${u.value} q-linear-progress__track--${r.value===!0?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),f=x(()=>an(a.value===!0?1:e.value,o.value,n.$q)),p=x(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${u.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),m=x(()=>({width:`${e.value*100}%`})),h=x(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${u.value}`);return()=>{let n=[O(`div`,{class:d.value,style:l.value}),O(`div`,{class:p.value,style:f.value})];return e.stripe===!0&&a.value===!1&&n.push(O(`div`,{class:h.value,style:m.value})),O(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ee(t.default,n))}}}),sn={class:`notion-panel q-pa-md`},cn={class:`row items-center q-mb-sm`},ln={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},un={key:0,class:`q-mb-sm`},dn=[`href`],fn={key:1,class:`text-caption q-mb-sm text-grey-8`},pn={key:3,class:`q-mb-sm`},mn={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},hn={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},gn={key:5,class:`task-add-row row items-center q-mb-xs`},_n={key:6,class:`tasks-list`},vn=[`onDblclick`],yn={key:1,class:`text-caption text-grey-8`},bn=Z(E({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(e){let t=e,{t:i}=X(),a=Y(),o=f(!1),l=x(()=>t.tasks.filter(e=>!e.isAcceptanceCriterion)),u=x(()=>l.value.filter(e=>e.status===`done`).length),d=x(()=>l.value.length),p=x(()=>d.value>0?u.value/d.value:0),b=f(!1),S=f(``),E=f(null),O=f(``),k=f({});function A(e,t){if(t){let n=t.$el??t;k.value[e]=n}else delete k.value[e]}async function j(){if(!(!t.workspace?.id||!t.workspace.notionUrl)){o.value=!0;try{let e=await fetch(`/api/workspaces/${t.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);a.fetchWorkspaceDetails(t.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{o.value=!1}}}function M(){b.value=!0,S.value=``}async function N(){let e=S.value.trim();if(!(!e||!t.workspace?.id))try{await a.createTask(t.workspace.id,e,!1),S.value=``,b.value=!1}catch{}}function P(){S.value=``,b.value=!1}function F(e){E.value=e.id,O.value=e.title,c(()=>{let t=k.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function I(e){if(E.value!==e.id)return;let n=O.value.trim(),r=e.id;if(E.value=null,!(!n||n===e.title)&&t.workspace?.id)try{await a.updateTaskTitle(t.workspace.id,r,n)}catch{}}function L(){E.value=null,O.value=``}async function R(e){if(t.workspace?.id)try{await a.deleteTask(t.workspace.id,e.id)}catch{}}async function z(e){if(!t.workspace?.id)return;let n=e.status===`done`?`pending`:`done`;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:n})});if(!r.ok)throw Error(`HTTP ${r.status}`);a.fetchWorkspaceDetails(t.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ee(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function B(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,i)=>(s(),C(`div`,sn,[T(`div`,cn,[T(`div`,ln,D(t.$t(`notion.title`)),1),_(ge),e.workspace?(s(),h(K,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:M},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.addNotionTask`)),1)]),_:1})]),_:1})):g(``,!0)]),e.workspace?(s(),C(w,{key:0},[e.workspace.notionUrl?(s(),C(`div`,un,[T(`a`,{href:e.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[_(W,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+D(t.$t(`notion.openInNotion`)),1)],8,dn)])):(s(),C(`div`,fn,D(t.$t(`notion.noUrl`)),1)),e.workspace.notionUrl?(s(),h(K,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:t.$t(`common.refresh`),color:`grey-6`,class:`q-mb-sm`,loading:o.value,onClick:j},null,8,[`label`,`loading`])):g(``,!0),d.value>0?(s(),C(`div`,pn,[_(on,{value:p.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,mn,D(t.$t(`notion.subtasks`,{done:u.value,total:d.value})),1)])):b.value?g(``,!0):(s(),C(`div`,hn,D(t.$t(`notion.noTasks`)),1)),b.value?(s(),C(`div`,gn,[_(Ne,{modelValue:S.value,"onUpdate:modelValue":i[0]||=e=>S.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[G(q(N,[`prevent`]),[`enter`]),G(q(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):g(``,!0),l.value.length>0?(s(),C(`div`,_n,[(s(!0),C(w,null,r(l.value,e=>(s(),C(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[_(W,{name:ee(e.status),size:`14px`,style:m({color:B(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>z(e)},null,8,[`name`,`style`,`onClick`]),E.value===e.id?(s(),h(Ne,{key:0,ref_for:!0,ref:t=>A(e.id,t),modelValue:O.value,"onUpdate:modelValue":i[1]||=e=>O.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[G(q(t=>I(e),[`prevent`]),[`enter`]),G(q(L,[`prevent`]),[`esc`])],onBlur:t=>I(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(s(),C(w,{key:1},[T(`span`,{class:v([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:m({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>F(e)},D(e.title),47,vn),_(K,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>R(e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):g(``,!0)],64)):(s(),C(`div`,yn,D(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-cb462fd4`]]),xn={class:`stats-panel q-pa-md`},Sn={class:`row items-center q-mb-md`},Cn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},wn={class:`stat-group-label q-mb-xs`},Tn={class:`stat-row`},En={class:`stat-label`},Dn={class:`stat-value`},On={class:`stat-row`},kn={class:`stat-label`},An={class:`stat-value`},jn={key:0,class:`stat-row`},Mn={class:`stat-label`},Nn={class:`stat-value stat-value-ellipsis`},Pn={class:`stat-row`},Fn={class:`stat-label`},In={class:`stat-value`},Ln={class:`stat-row`},Rn={class:`stat-label`},zn={class:`stat-value`},Bn={class:`stat-group-label q-mb-xs`},Vn={class:`stat-row`},Hn={class:`stat-label`},Un={class:`stat-value`},Wn={key:1,class:`stat-row`},Gn={class:`stat-label`},Kn={class:`stat-value`},qn={key:2,class:`stat-row`},Jn={class:`stat-label`},Yn={class:`stat-value`},Xn={key:3,class:`stat-row`},Zn={class:`stat-label`},Qn={class:`stat-value`},$n={key:4,class:`stat-row`},er={class:`stat-label`},tr={class:`stat-value`},nr={class:`stat-group-label q-mb-xs`},rr={class:`stat-row`},ir={class:`stat-label`},ar={class:`stat-value`},or={class:`stat-row`},sr={class:`stat-label`},cr={class:`stat-value`},lr={class:`stat-row`},ur={class:`stat-label`},dr={class:`stat-value`},fr={key:5,class:`stat-row`},pr={class:`stat-label text-red-4`},mr={class:`stat-value text-red-4`},hr={key:6},gr={class:`stat-group-label q-mb-xs`},_r={class:`stat-row`},vr={class:`stat-label`},yr={class:`stat-value`},br={class:`stat-row`},xr={class:`stat-label`},Sr={class:`stat-value`},Cr={class:`stat-row`},wr={class:`stat-label`},Tr={class:`stat-value`},Er={key:0,class:`stat-row`},Dr={class:`stat-label`},Or={class:`stat-value`},kr={key:7},Ar={class:`stat-group-label q-mb-xs`},jr={class:`stat-row`},Mr={class:`stat-label`},Nr={class:`stat-value`},Pr={key:0,class:`stat-row`},Fr={class:`stat-label`},Ir={class:`stat-value`},Lr={key:1,class:`stat-row`},Rr={class:`stat-label`},zr={class:`stat-value`},Br={key:8},Vr={class:`stat-group-label q-mb-xs`},Hr={key:0,class:`q-mb-xs`},Ur={class:`stat-row q-mb-xxs`},Wr={class:`stat-label`},Gr={class:`stat-value`},Kr={key:1},qr={class:`stat-row q-mb-xxs`},Jr={class:`stat-label`},Yr={class:`stat-value`},Xr={key:1,class:`text-caption text-grey-8`},Zr=Z(E({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t}=X(),r=Y(),{timeAgo:i}=Ke(),a=x(()=>{let e=r.selectedWorkspaceId;if(!e)return null;let t=r.activityFeeds[e]??[],n=r.sessions,i=Object.values(r.subagents[e]??{}),a=r.tasks,o=r.selectedWorkspace,s=r.activityCounts[e]??{toolUses:0,agentMessages:0,userMessages:0,errors:0},c=s.toolUses,l=s.agentMessages,u=s.userMessages,d=s.errors,f=n.length,p=n.filter(e=>e.status===`completed`).length,m=i.length,h=i.filter(e=>e.status===`done`).length,g=i.reduce((e,t)=>e+(t.totalTokens??0),0),_=i.reduce((e,t)=>e+(t.toolUses??0),0),v=a.filter(e=>!e.isAcceptanceCriterion).length,y=a.filter(e=>!e.isAcceptanceCriterion&&e.status===`done`).length,b=a.filter(e=>e.isAcceptanceCriterion).length,x=a.filter(e=>e.isAcceptanceCriterion&&e.status===`done`).length,S=o?.createdAt?new Date(o.createdAt):null,C=o?.updatedAt?new Date(o.updatedAt):null,w=S?Date.now()-S.getTime():0,T=null,E=null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(!T&&n.meta?.sender===`user`&&(T=new Date(n.timestamp)),!E&&n.type===`text`&&n.meta?.sender!==`user`&&n.meta?.sender!==`system-prompt`&&(E=new Date(n.timestamp)),T&&E)break}let D=n.length>0?new Date(n[n.length-1].startedAt):null,O=r.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0,sessionCount:0},k=o?.model??`auto`,A=o?.workingBranch??``,j=o?.status??``;return{toolUses:c,agentMessages:l,userMessages:u,errors:d,totalSessions:f,completedSessions:p,totalSubagents:m,doneSubagents:h,totalSubagentTokens:g,totalSubagentTools:_,totalTasks:v,doneTasks:y,totalCriteria:b,doneCriteria:x,durationMs:w,createdAt:S,updatedAt:C,lastPromptAt:T,lastAgentResponseAt:E,firstSessionAt:D,model:k,branch:A,status:j,usage:O}});function o(e){let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return n<24?`${n}h ${r}m`:`${Math.floor(n/24)}d ${n%24}h`}function c(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function l(e){return e.toLocaleDateString(void 0,{day:`2-digit`,month:`2-digit`,year:`numeric`})}function u(e){return e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function d(e){return`${l(e)} ${u(e)}`}return(t,l)=>(s(),C(`div`,xn,[T(`div`,Sn,[T(`div`,Cn,D(t.$t(`stats.title`)),1),_(ge),e.workspace?(s(),h(K,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,onClick:l[0]||=t=>S(r).fetchWorkspaceDetails(e.workspace.id)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):g(``,!0)]),e.workspace&&a.value?(s(),C(w,{key:0},[T(`div`,wn,D(t.$t(`stats.info`)),1),T(`div`,Tn,[T(`span`,En,D(t.$t(`stats.status`)),1),T(`span`,Dn,D(a.value.status),1)]),T(`div`,On,[T(`span`,kn,D(t.$t(`stats.model`)),1),T(`span`,An,D(a.value.model),1)]),a.value.branch?(s(),C(`div`,jn,[T(`span`,Mn,D(t.$t(`stats.branch`)),1),T(`span`,Nn,D(a.value.branch),1)])):g(``,!0),T(`div`,Pn,[T(`span`,Fn,D(t.$t(`stats.sessions`)),1),T(`span`,In,D(a.value.completedSessions)+` / `+D(a.value.totalSessions),1)]),T(`div`,Ln,[T(`span`,Rn,D(t.$t(`stats.duration`)),1),T(`span`,zn,D(o(a.value.durationMs)),1)]),_($,{dark:``,class:`q-my-sm`}),T(`div`,Bn,D(t.$t(`stats.timeline`)),1),T(`div`,Vn,[T(`span`,Hn,D(t.$t(`stats.created`)),1),T(`span`,Un,D(a.value.createdAt?d(a.value.createdAt):`—`),1)]),a.value.firstSessionAt?(s(),C(`div`,Wn,[T(`span`,Gn,D(t.$t(`stats.firstSession`)),1),T(`span`,Kn,D(d(a.value.firstSessionAt)),1)])):g(``,!0),a.value.lastPromptAt?(s(),C(`div`,qn,[T(`span`,Jn,D(t.$t(`stats.lastPrompt`)),1),T(`span`,Yn,[y(D(S(i)(a.value.lastPromptAt))+` `,1),_(Q,null,{default:n(()=>[y(D(d(a.value.lastPromptAt)),1)]),_:1})])])):g(``,!0),a.value.lastAgentResponseAt?(s(),C(`div`,Xn,[T(`span`,Zn,D(t.$t(`stats.lastResponse`)),1),T(`span`,Qn,[y(D(S(i)(a.value.lastAgentResponseAt))+` `,1),_(Q,null,{default:n(()=>[y(D(d(a.value.lastAgentResponseAt)),1)]),_:1})])])):g(``,!0),a.value.updatedAt?(s(),C(`div`,$n,[T(`span`,er,D(t.$t(`stats.updated`)),1),T(`span`,tr,D(S(i)(a.value.updatedAt)),1)])):g(``,!0),_($,{dark:``,class:`q-my-sm`}),T(`div`,nr,D(t.$t(`stats.activity`)),1),T(`div`,rr,[T(`span`,ir,D(t.$t(`stats.agentMessages`)),1),T(`span`,ar,D(a.value.agentMessages),1)]),T(`div`,or,[T(`span`,sr,D(t.$t(`stats.userMessages`)),1),T(`span`,cr,D(a.value.userMessages),1)]),T(`div`,lr,[T(`span`,ur,D(t.$t(`stats.toolCalls`)),1),T(`span`,dr,D(a.value.toolUses),1)]),a.value.errors>0?(s(),C(`div`,fr,[T(`span`,pr,D(t.$t(`stats.errors`)),1),T(`span`,mr,D(a.value.errors),1)])):g(``,!0),a.value.usage.inputTokens>0||a.value.usage.outputTokens>0?(s(),C(`div`,hr,[_($,{dark:``,class:`q-my-sm`}),T(`div`,gr,D(t.$t(`stats.usage`)),1),T(`div`,_r,[T(`span`,vr,D(t.$t(`stats.inputTokens`)),1),T(`span`,yr,D(c(a.value.usage.inputTokens)),1)]),T(`div`,br,[T(`span`,xr,D(t.$t(`stats.outputTokens`)),1),T(`span`,Sr,D(c(a.value.usage.outputTokens)),1)]),T(`div`,Cr,[T(`span`,wr,D(t.$t(`stats.totalTokens`)),1),T(`span`,Tr,D(c(a.value.usage.inputTokens+a.value.usage.outputTokens)),1)]),a.value.usage.costUsd>0?(s(),C(`div`,Er,[T(`span`,Dr,D(t.$t(`stats.cost`)),1),T(`span`,Or,`$`+D(a.value.usage.costUsd.toFixed(4)),1)])):g(``,!0)])):g(``,!0),a.value.totalSubagents>0?(s(),C(`div`,kr,[_($,{dark:``,class:`q-my-sm`}),T(`div`,Ar,D(t.$t(`stats.subagents`)),1),T(`div`,jr,[T(`span`,Mr,D(t.$t(`stats.completed`)),1),T(`span`,Nr,D(a.value.doneSubagents)+` / `+D(a.value.totalSubagents),1)]),a.value.totalSubagentTokens>0?(s(),C(`div`,Pr,[T(`span`,Fr,D(t.$t(`stats.tokens`)),1),T(`span`,Ir,D(c(a.value.totalSubagentTokens)),1)])):g(``,!0),a.value.totalSubagentTools>0?(s(),C(`div`,Lr,[T(`span`,Rr,D(t.$t(`stats.toolCalls`)),1),T(`span`,zr,D(a.value.totalSubagentTools),1)])):g(``,!0)])):g(``,!0),a.value.totalTasks>0||a.value.totalCriteria>0?(s(),C(`div`,Br,[_($,{dark:``,class:`q-my-sm`}),T(`div`,Vr,D(t.$t(`stats.progress`)),1),a.value.totalTasks>0?(s(),C(`div`,Hr,[T(`div`,Ur,[T(`span`,Wr,D(t.$t(`stats.tasks`)),1),T(`span`,Gr,D(a.value.doneTasks)+` / `+D(a.value.totalTasks),1)]),_(on,{value:a.value.doneTasks/a.value.totalTasks,color:`primary`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):g(``,!0),a.value.totalCriteria>0?(s(),C(`div`,Kr,[T(`div`,qr,[T(`span`,Jr,D(t.$t(`stats.acceptanceCriteria`)),1),T(`span`,Yr,D(a.value.doneCriteria)+` / `+D(a.value.totalCriteria),1)]),_(on,{value:a.value.doneCriteria/a.value.totalCriteria,color:`green-6`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):g(``,!0)])):g(``,!0)],64)):(s(),C(`div`,Xr,D(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-3d3e6cd8`]]),Qr={class:`subagents-panel q-pa-md`},$r={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},ei={key:0,class:`text-caption text-grey-8`},ti={class:`row items-center q-mb-xs`},ni={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},ri={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ii={class:`text-grey-4`},ai={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},oi={key:0},si={key:1},ci={key:2},li=Z(E({__name:`SubagentsPanel`,setup(e){let{t}=X(),n=Y(),i=x(()=>n.currentSubagents);function a(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function o(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(s(),C(`div`,Qr,[T(`div`,$r,D(e.$t(`subagents.title`)),1),i.value.length===0?(s(),C(`div`,ei,D(e.$t(`subagents.empty`)),1)):g(``,!0),(s(!0),C(w,null,r(i.value,t=>(s(),C(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[T(`div`,ti,[_(W,{name:t.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:t.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,ni,D(t.description||t.toolUseId),1)]),t.lastToolName?(s(),C(`div`,ri,[y(D(e.$t(`subagents.running`)),1),T(`span`,ii,D(t.lastToolName),1)])):g(``,!0),T(`div`,ai,[t.toolUses===void 0?g(``,!0):(s(),C(`span`,oi,D(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(s(),C(`span`,si,`· `+D(o(t.totalTokens))+` tok`,1)):g(``,!0),t.durationMs?(s(),C(`span`,ci,`· `+D(a(t.durationMs)),1)):g(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-4ba9f62f`]]),ui={class:`tools-panel q-px-md q-py-sm`},di={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},fi={key:0,class:`text-caption text-grey-8`},pi={key:0,class:`text-caption text-grey-8`},mi=Z(E({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let t=e,{t:r}=X(),a=Pe(),o=ce(),c=f(!1),l=x(()=>t.workspace?.id??``),u=x(()=>t.workspace?!!o.getProjectByPath(t.workspace.projectPath)?.setupScript:!1);async function d(){if(l.value){c.value=!0;try{let e=await fetch(`/api/workspaces/${l.value}/run-setup-script`,{method:`POST`}),t=await e.json();e.ok?a.notify({type:`positive`,message:r(`tools.setupScriptSuccess`),position:`top`,timeout:3e3}):a.notify({type:`negative`,message:t.error??r(`tools.setupScriptFailed`),position:`top`,timeout:6e3})}catch(e){let t=e instanceof Error?e.message:r(`tools.setupScriptFailed`);a.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{c.value=!1}}}return(t,r)=>{let a=i(`router-link`);return s(),C(`div`,ui,[T(`div`,di,D(t.$t(`tools.title`)),1),e.workspace?(s(),C(w,{key:1},[_(K,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`replay`,label:t.$t(`tools.runSetupScript`),loading:c.value,disable:!u.value||c.value,class:`full-width q-mb-xs`,onClick:d},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(t.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),u.value?g(``,!0):(s(),C(`div`,pi,[y(D(t.$t(`tools.noSetupScript`))+` `,1),_(a,{to:`/settings`,style:{color:`#6c63ff`}},{default:n(()=>[y(D(t.$t(`devServer.goToSettings`)),1)]),_:1})]))],64)):(s(),C(`div`,fi,D(t.$t(`devServer.noWorkspace`)),1))])}}}),[[`__scopeId`,`data-v-64fae402`]]),hi=()=>O(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[O(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[O(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),O(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),gi=P({name:`QCheckbox`,props:He,emits:Be,setup(e){let t=hi();function n(n,r){let i=x(()=>(n.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[O(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[O(W,{class:`q-checkbox__icon`,name:i.value})])]}return We(`checkbox`,n)}}),_i=P({name:`QCardActions`,props:{...re,vertical:Boolean},setup(e,{slots:t}){let n=ne(e),r=x(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?`vert column`:`horiz row`}`);return()=>O(`div`,{class:r.value},ae(t.default))}}),vi={class:`workspace-list column full-height`},yi={class:`wl-header row items-center justify-between q-px-md q-py-sm`},bi={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},xi={class:`row items-center q-gutter-xs`},Si={class:`q-px-md q-pb-sm`},Ci={class:`col overflow-auto`},wi={key:0,class:`wl-group q-mt-xs`},Ti={class:`text-caption text-weight-bold q-ml-xs text-red-5`},Ei={key:0,class:`wl-project-label q-px-md q-pt-xs`},Di={class:`text-caption text-grey-7`},Oi=[`onClick`],ki={class:`col`,style:{"min-width":`0`}},Ai={class:`row items-center no-wrap q-gutter-xs`},ji={key:0,class:`dd-dot dd-dot--running`},Mi={class:`text-caption q-mt-xs`},Ni={class:`text-red-5`},Pi={class:`q-ml-xs text-grey-8`},Fi={key:1,class:`wl-group q-mt-xs`},Ii={class:`text-caption text-weight-bold q-ml-xs text-green-4`},Li={key:0,class:`wl-project-label q-px-md q-pt-xs`},Ri={class:`text-caption text-grey-7`},zi=[`onClick`],Bi={class:`col`,style:{"min-width":`0`}},Vi={class:`row items-center no-wrap q-gutter-xs`},Hi={key:0,class:`dd-dot dd-dot--running`},Ui={class:`text-caption q-mt-xs`},Wi={class:`text-green-4`},Gi={class:`q-ml-xs text-grey-8`},Ki={key:2,class:`wl-group q-mt-xs`},qi={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},Ji={key:0,class:`wl-project-label q-px-md q-pt-xs`},Yi={class:`text-caption text-grey-7`},Xi=[`onClick`],Zi={class:`col`,style:{"min-width":`0`}},Qi={class:`row items-center no-wrap q-gutter-xs`},$i={key:0,class:`dd-dot dd-dot--running`},ea={class:`wl-item-meta text-caption text-grey-8`},ta={key:3,class:`wl-group q-mt-xs`},na={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},ra={class:`col`,style:{"min-width":`0`}},ia={class:`wl-item-name text-body2 text-grey-5 ellipsis`},aa={class:`wl-item-meta text-caption text-grey-8`},oa={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},sa={class:`q-px-md q-py-xs text-caption text-grey-8`},ca={class:`text-h6`},la={class:`text-body2 q-mb-sm text-grey-6`},ua={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},da={class:`column q-gutter-xs`},fa={key:0,class:`text-caption q-mt-sm text-red-5`},pa=Z(E({__name:`WorkspaceList`,setup(e){let{t}=X(),{timeAgo:i}=Ke(),a=Y(),o=le(),c=de(),u=ce(),d=J(),p=f(``);function E(e){let t=new Map;for(let n of e){let e=n.projectPath;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({projectPath:e,projectName:e.split(`/`).pop()??e,workspaces:t}))}let O=x(()=>a.needsAttention.filter(e=>e.name.toLowerCase().includes(p.value.toLowerCase()))),k=x(()=>a.running.filter(e=>e.name.toLowerCase().includes(p.value.toLowerCase()))),A=x(()=>a.idle.filter(e=>e.name.toLowerCase().includes(p.value.toLowerCase()))),j=x(()=>E(O.value)),M=x(()=>E(k.value)),N=x(()=>E(A.value)),P=x(()=>a.workspaces.length),F=x(()=>a.running.length),I=f(!0),L=f(!0),R=f(!0),z=f(!1);async function ee(){z.value=!z.value,z.value&&!a.archivedLoaded&&await a.fetchArchivedWorkspaces()}let B=f(!1),V=f(null),H=f(!1),te=f(!1),U=f(!1);function ne(e,t){t.stopPropagation(),V.value=e,H.value=!0,te.value=!1,B.value=!0}async function re(){if(!V.value)return;let e=V.value.id;U.value=!0;try{await a.deleteWorkspace(e,{deleteLocalBranch:H.value,deleteRemoteBranch:te.value}),o.unsubscribe(e),B.value=!1,a.selectedWorkspaceId===null&&d.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{U.value=!1}}async function G(e,t){t.stopPropagation();try{await a.archiveWorkspace(e.id),a.selectedWorkspaceId===null&&d.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function q(e,t){t.stopPropagation();try{await a.unarchiveWorkspace(e.id),u.getProjectByPath(e.projectPath)?.devServer?.startCommand&&c.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function ae(e){a.selectWorkspace(e),d.push({name:`workspace`,params:{id:e}})}function oe(){d.push({name:`create`})}function se(){d.push({name:`settings`})}return b(async()=>{await a.fetchWorkspaces(),await a.fetchArchivedWorkspaces(),await u.fetchSettings();for(let e of a.workspaces)o.subscribe(e.id),u.getProjectByPath(e.projectPath)?.devServer?.startCommand&&c.fetchStatus(e.id)}),(e,t)=>(s(),C(w,null,[T(`div`,vi,[T(`div`,yi,[T(`span`,bi,D(e.$t(`workspaceList.title`)),1),T(`div`,xi,[S(o).connected?(s(),h(De,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(s(),h(De,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),_(K,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:se}),_(K,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:oe})])]),T(`div`,Si,[_(Ne,{modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,dense:``,dark:``,placeholder:e.$t(`common.search`),class:`wl-search rounded-borders`,borderless:``},{prepend:n(()=>[_(W,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`])]),_($,{dark:``}),T(`div`,Ci,[O.value.length>0?(s(),C(`div`,wi,[T(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[1]||=e=>I.value=!I.value},[_(W,{name:I.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),T(`span`,Ti,D(e.$t(`workspaceList.needsAttention`)),1),_(De,{label:O.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),l(T(`div`,null,[(s(!0),C(w,null,r(j.value,t=>(s(),C(`div`,{key:t.projectPath,class:`wl-project-group`},[j.value.length>1?(s(),C(`div`,Ei,[_(W,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),T(`span`,Di,D(t.projectName),1)])):g(``,!0),(s(!0),C(w,null,r(t.workspaces,t=>(s(),C(`div`,{key:t.id,class:v([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":t.id===S(a).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:e=>ae(t.id)},[T(`div`,ki,[T(`div`,Ai,[S(c).getStatus(t.id)?.status===`running`?(s(),C(`div`,ji)):g(``,!0),T(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:m({fontWeight:t.hasUnread?700:400,opacity:t.hasUnread?1:.75})},D(t.name),5)]),T(`div`,Mi,[_(W,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),T(`span`,Ni,D(t.status),1),T(`span`,Pi,`· `+D(S(i)(t.updatedAt)),1)])]),_(K,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:e=>G(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`]),_(K,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ne(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])],10,Oi))),128))]))),128))],512),[[ie,I.value]])])):g(``,!0),k.value.length>0?(s(),C(`div`,Fi,[T(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[2]||=e=>L.value=!L.value},[_(W,{name:L.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),T(`span`,Ii,D(e.$t(`workspaceList.running`)),1),_(De,{label:k.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),l(T(`div`,null,[(s(!0),C(w,null,r(M.value,t=>(s(),C(`div`,{key:t.projectPath,class:`wl-project-group`},[M.value.length>1?(s(),C(`div`,Li,[_(W,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),T(`span`,Ri,D(t.projectName),1)])):g(``,!0),(s(!0),C(w,null,r(t.workspaces,t=>(s(),C(`div`,{key:t.id,class:v([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":t.id===S(a).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:e=>ae(t.id)},[T(`div`,Bi,[T(`div`,Vi,[S(c).getStatus(t.id)?.status===`running`?(s(),C(`div`,Hi)):g(``,!0),T(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:m({fontWeight:t.hasUnread?700:400,opacity:t.hasUnread?1:.75})},D(t.name),5)]),T(`div`,Ui,[T(`span`,Wi,D(t.status),1),T(`span`,Gi,`· `+D(S(i)(t.updatedAt)),1)])]),_(K,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:e=>G(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`]),_(K,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ne(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])],10,zi))),128))]))),128))],512),[[ie,L.value]])])):g(``,!0),A.value.length>0?(s(),C(`div`,Ki,[T(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[3]||=e=>R.value=!R.value},[_(W,{name:R.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),T(`span`,qi,D(e.$t(`workspaceList.idle`)),1),_(De,{label:A.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),l(T(`div`,null,[(s(!0),C(w,null,r(N.value,t=>(s(),C(`div`,{key:t.projectPath,class:`wl-project-group`},[N.value.length>1?(s(),C(`div`,Ji,[_(W,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),T(`span`,Yi,D(t.projectName),1)])):g(``,!0),(s(!0),C(w,null,r(t.workspaces,t=>(s(),C(`div`,{key:t.id,class:v([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":t.id===S(a).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:e=>ae(t.id)},[T(`div`,Zi,[T(`div`,Qi,[S(c).getStatus(t.id)?.status===`running`?(s(),C(`div`,$i)):g(``,!0),T(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:m({fontWeight:t.hasUnread?700:400,opacity:t.hasUnread?1:.75})},D(t.name),5)]),T(`div`,ea,D(S(i)(t.updatedAt)),1)]),_(K,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:e=>G(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`]),_(K,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ne(t,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])],10,Xi))),128))]))),128))],512),[[ie,R.value]])])):g(``,!0),S(a).archived.length>0||z.value?(s(),C(`div`,ta,[T(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:ee},[_(W,{name:z.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),_(W,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),T(`span`,na,D(e.$t(`workspaceList.archived`)),1),S(a).archived.length>0?(s(),h(De,{key:0,label:S(a).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):g(``,!0)]),l(T(`div`,null,[(s(!0),C(w,null,r(S(a).archived,r=>(s(),C(`div`,{key:r.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[T(`div`,ra,[T(`div`,ia,D(r.name),1),T(`div`,aa,D(e.$t(`workspaceList.archived`))+` `+D(S(i)(r.archivedAt)),1)]),_(K,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:e=>q(r,e)},{default:n(()=>[_(Q,null,{default:n(()=>[y(D(e.$t(`common.unarchive`)),1)]),_:1})]),_:1},8,[`onClick`]),_(K,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ne(r,e)},{default:n(()=>[_(Q,null,{default:n(()=>[...t[8]||=[y(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[ie,z.value]])])):g(``,!0),O.value.length===0&&k.value.length===0&&A.value.length===0&&S(a).archived.length===0?(s(),C(`div`,oa,[S(a).loading?(s(),C(w,{key:0},[y(D(e.$t(`common.loading`)),1)],64)):p.value?(s(),C(w,{key:1},[y(D(e.$t(`common.noResults`,{query:p.value})),1)],64)):(s(),C(w,{key:2},[y(D(e.$t(`workspaceList.noWorkspaces`)),1)],64))])):g(``,!0)]),_($,{dark:``}),T(`div`,sa,D(e.$t(`workspaceList.footer`,{count:P.value},P.value))+` · `+D(e.$t(`workspaceList.footerRunning`,{count:F.value})),1)]),_(Me,{modelValue:B.value,"onUpdate:modelValue":t[7]||=e=>B.value=e,persistent:``},{default:n(()=>[_(vt,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:n(()=>[_(_t,null,{default:n(()=>[T(`div`,ca,D(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),_(_t,{class:`q-pt-none`},{default:n(()=>[T(`div`,la,D(V.value?.name),1),T(`div`,ua,D(V.value?.workingBranch),1),T(`div`,da,[_(gi,{modelValue:H.value,"onUpdate:modelValue":t[4]||=e=>H.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),_(gi,{modelValue:te.value,"onUpdate:modelValue":t[5]||=e=>te.value=e,disable:!H.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),te.value?(s(),C(`div`,fa,D(e.$t(`workspaceList.deleteDialog.warning`)),1)):g(``,!0)]),_:1}),_(_i,{align:`right`},{default:n(()=>[_(K,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[6]||=e=>B.value=!1,disable:U.value},null,8,[`label`,`disable`]),_(K,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:U.value,onClick:re},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-6fab77d2`]]),ma=`at-left-drawer-width`,ha=Z(E({__name:`MainLayout`,setup(e){let t=f(`git`),r=f(!0),a=f(!0),o=parseInt(localStorage.getItem(ma)??`260`,10),c=f(Math.min(500,Math.max(200,o))),l=f(!1);function u(e){e.preventDefault(),l.value=!0;let t=e=>{c.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{l.value=!1,localStorage.setItem(ma,String(c.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let d=Y();return(e,o)=>{let l=i(`router-view`);return s(),h(nt,{view:`lHh LpR lFf`},{default:n(()=>[_(Ze,{modelValue:r.value,"onUpdate:modelValue":o[0]||=e=>r.value=e,width:c.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:n(()=>[_(pa),T(`div`,{class:`resize-handle`,onMousedown:u},null,32)]),_:1},8,[`modelValue`,`width`]),_(Ze,{modelValue:a.value,"onUpdate:modelValue":o[3]||=e=>a.value=e,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:n(()=>[_(Ve,{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,shrink:``},{default:n(()=>[_(Le,{name:`git`,icon:`commit`}),_(Le,{name:`server`,icon:`dns`}),_(Le,{name:`tasks`,icon:`checklist`}),_(Le,{name:`subagents`,icon:`smart_toy`}),_(Le,{name:`tools`,icon:`build`}),_(Le,{name:`stats`,icon:`bar_chart`})]),_:1},8,[`modelValue`]),_($,{dark:``}),_(Re,{modelValue:t.value,"onUpdate:modelValue":o[2]||=e=>t.value=e,animated:``,"keep-alive":``},{default:n(()=>[_(Ie,{name:`git`,class:`q-pa-none`},{default:n(()=>[_(nn,{workspace:S(d).selectedWorkspace},null,8,[`workspace`])]),_:1}),_(Ie,{name:`server`,class:`q-pa-none`},{default:n(()=>[_(At,{workspace:S(d).selectedWorkspace},null,8,[`workspace`])]),_:1}),_(Ie,{name:`tasks`,class:`q-pa-none`},{default:n(()=>[_(bn,{workspace:S(d).selectedWorkspace,tasks:S(d).tasks},null,8,[`workspace`,`tasks`]),_($,{dark:``}),_(ut,{tasks:S(d).acceptanceCriteria},null,8,[`tasks`]),_($,{dark:``}),_(gt)]),_:1}),_(Ie,{name:`subagents`,class:`q-pa-none`},{default:n(()=>[_(li)]),_:1}),_(Ie,{name:`tools`,class:`q-pa-none`},{default:n(()=>[_(mi,{workspace:S(d).selectedWorkspace},null,8,[`workspace`])]),_:1}),_(Ie,{name:`stats`,class:`q-pa-none`},{default:n(()=>[_(Zr,{workspace:S(d).selectedWorkspace},null,8,[`workspace`])]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`]),_(Qe,{class:`bg-dark`},{default:n(()=>[_(l)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-c77ae0cb`]]);export{ha as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.acceptance-item[data-v-663f266d]{padding:2px 0}.acceptance-item[data-v-663f266d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-663f266d]{opacity:1}.criterion-delete-btn[data-v-663f266d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-663f266d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-663f266d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-663f266d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-663f266d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-663f266d] input::placeholder{color:#555}.criterion-add-row[data-v-663f266d],.todo-item[data-v-4eddf754]{padding:2px 0}.todo-title[data-v-4eddf754]{word-break:break-word;line-height:1.4}.text-strike[data-v-4eddf754]{opacity:.7;text-decoration:line-through}.log-content[data-v-9e03d2b2]{max-height:60vh;overflow-y:auto}.log-text[data-v-9e03d2b2]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-20c5f4bd]{min-height:48px}.git-btn[data-v-d48ba3fd]{padding:2px 10px;font-size:11px}.notion-link[data-v-cb462fd4]{text-decoration:none;display:inline-flex}.notion-link[data-v-cb462fd4]:hover{text-decoration:underline}.task-item[data-v-cb462fd4]{padding:2px 0}.task-item[data-v-cb462fd4]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-cb462fd4]{opacity:1}.task-delete-btn[data-v-cb462fd4]{opacity:0;transition:opacity .15s}.task-title[data-v-cb462fd4]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-cb462fd4]{opacity:.7;text-decoration:line-through}.task-input[data-v-cb462fd4] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-cb462fd4] input{color:#e0e0e0;font-size:12px}.task-input[data-v-cb462fd4] input::placeholder{color:#555}.task-add-row[data-v-cb462fd4]{padding:2px 0}.stat-group-label[data-v-3d3e6cd8]{text-transform:uppercase;letter-spacing:.05em;color:#888;font-size:10px;font-weight:600}.stat-row[data-v-3d3e6cd8]{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.stat-label[data-v-3d3e6cd8]{color:#999;font-size:12px}.stat-value[data-v-3d3e6cd8]{color:#ddd;font-family:Roboto Mono,monospace;font-size:12px;font-weight:500}.stat-value-ellipsis[data-v-3d3e6cd8]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.stat-section[data-v-3d3e6cd8]{justify-content:space-between;align-items:center;display:flex}.subagents-panel[data-v-4ba9f62f]{overflow-y:auto}.subagent-item[data-v-4ba9f62f]{background:#1e1e3a;border:1px solid #2a2a4a}.tools-panel[data-v-64fae402]{min-height:48px}.workspace-list[data-v-6fab77d2]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-6fab77d2]{background-color:#224;padding:0 8px}.wl-search[data-v-6fab77d2] .q-field__control{height:32px}.wl-search[data-v-6fab77d2] input{color:#ccc;font-size:12px}.wl-group-header[data-v-6fab77d2]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-6fab77d2]{margin-top:6px}.wl-project-label[data-v-6fab77d2]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-6fab77d2]{background-color:#224;margin-bottom:4px;transition:background-color .15s;position:relative}.wl-item[data-v-6fab77d2]:last-child{margin-bottom:0}.wl-item[data-v-6fab77d2]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-6fab77d2]{background-color:#2a2a4a;outline:1px solid #6c63ff66}.wl-item-action[data-v-6fab77d2]{opacity:0;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.wl-item-delete[data-v-6fab77d2]{right:4px}.wl-item-archive[data-v-6fab77d2],.wl-item-unarchive[data-v-6fab77d2]{right:28px}.wl-item:hover .wl-item-action[data-v-6fab77d2]{opacity:1}.wl-item--archived[data-v-6fab77d2]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-6fab77d2]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-6fab77d2]{opacity:1}.dd-dot[data-v-6fab77d2]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-6fab77d2]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.bg-dark[data-v-c77ae0cb]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-c77ae0cb]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-c77ae0cb]:hover,.resize-handle[data-v-c77ae0cb]:active{background-color:#6c63ff80}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e,x as t}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{G as n,S as r}from"./nodes-THUz-Chh.js";var i=[`top`,`middle`,`bottom`],a=n({name:`QBadge`,props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>i.includes(e)}},setup(n,{slots:i}){let a=e(()=>n.align===void 0?null:{verticalAlign:n.align}),o=e(()=>{let e=n.outline===!0&&n.color||n.textColor;return`q-badge flex inline items-center no-wrap q-badge--${n.multiLine===!0?`multi`:`single`}-line`+(n.outline===!0?` q-badge--outline`:n.color===void 0?``:` bg-${n.color}`)+(e===void 0?``:` text-${e}`)+(n.floating===!0?` q-badge--floating`:``)+(n.rounded===!0?` q-badge--rounded`:``)+(n.transparent===!0?` q-badge--transparent`:``)});return()=>t(`div`,{class:o.value,style:a.value,role:`status`,"aria-label":n.label},r(i.default,n.label===void 0?[]:[n.label]))}});export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{O as e,Q as t,U as n,V as r,Z as i,l as a,x as o,y as s}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{G as c,Q as l,W as u,b as d,o as f,tt as p,w as m}from"./nodes-THUz-Chh.js";import{C as h,S as g,w as _}from"./_plugin-vue_export-helper-BZV6EEeb.js";import{n as v,r as y,t as b}from"./QSeparator-y-UWrZSp.js";import{g as x,m as S}from"./use-quasar-CIVlxSZ-.js";import{a as C,i as w,r as T}from"./QPage-BX_DOfKi.js";var E=c({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(t,{slots:n,emit:r}){let i=!1,a,s,c=null,u=null,d,f;function p(){a?.(),a=null,i=!1,c!==null&&(clearTimeout(c),c=null),u!==null&&(clearTimeout(u),u=null),s?.removeEventListener(`transitionend`,d),d=null}function m(e,n,r){n!==void 0&&(e.style.height=`${n}px`),e.style.transition=`height ${t.duration}ms cubic-bezier(.25, .8, .50, 1)`,i=!0,a=r}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,p(),t!==f&&r(t)}function g(e,n){let r=0;s=e,i===!0?(p(),r=e.offsetHeight===e.scrollHeight?0:void 0):(f=`hide`,e.style.overflowY=`hidden`),m(e,r,n),c=setTimeout(()=>{c=null,e.style.height=`${e.scrollHeight}px`,d=t=>{u=null,(Object(t)!==t||t.target===e)&&h(e,`show`)},e.addEventListener(`transitionend`,d),u=setTimeout(d,t.duration*1.1)},100)}function _(e,n){let r;s=e,i===!0?p():(f=`show`,e.style.overflowY=`hidden`,r=e.scrollHeight),m(e,r,n),c=setTimeout(()=>{c=null,e.style.height=0,d=t=>{u=null,(Object(t)!==t||t.target===e)&&h(e,`hide`)},e.addEventListener(`transitionend`,d),u=setTimeout(d,t.duration*1.1)},100)}return e(()=>{i===!0&&p()}),()=>o(l,{css:!1,appear:t.appear,onEnter:g,onLeave:_},n.default)}}),D=t({}),O=Object.keys(f),k=c({name:`QExpansionItem`,props:{...f,..._,...y,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...h,`click`,`afterShow`,`afterHide`],setup(t,{slots:c,emit:l}){let{proxy:{$q:f}}=s(),h=v(t,f),_=i(t.modelValue===null?t.defaultOpened:t.modelValue),y=i(null),k=S(),{show:A,hide:j,toggle:M}=g({showing:_}),N,P,F=a(()=>`q-expansion-item q-item-type q-expansion-item--${_.value===!0?`expanded`:`collapsed`} q-expansion-item--${t.popup===!0?`popup`:`standard`}`),I=a(()=>t.contentInsetLevel===void 0?null:{[`padding`+(f.lang.rtl===!0?`Right`:`Left`)]:t.contentInsetLevel*56+`px`}),L=a(()=>t.disable!==!0&&(t.href!==void 0||t.to!==void 0&&t.to!==null&&t.to!==``)),R=a(()=>{let e={};return O.forEach(n=>{e[n]=t[n]}),e}),z=a(()=>L.value===!0||t.expandIconToggle!==!0),B=a(()=>t.expandedIcon!==void 0&&_.value===!0?t.expandedIcon:t.expandIcon||f.iconSet.expansionItem[t.denseToggle===!0?`denseIcon`:`icon`]),V=a(()=>t.disable!==!0&&(L.value===!0||t.expandIconToggle===!0)),H=a(()=>({expanded:_.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=a(()=>{let e=t.toggleAriaLabel===void 0?f.lang.label[_.value===!0?`collapse`:`expand`](t.label):t.toggleAriaLabel;return{role:`button`,"aria-expanded":_.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":e}});r(()=>t.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),l(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&y.value?.focus(),M(e),u(e)}function q(){l(`afterShow`)}function J(){l(`afterHide`)}function Y(){N===void 0&&(N=x()),_.value===!0&&(D[t.group]=N);let e=r(_,e=>{e===!0?D[t.group]=N:D[t.group]===N&&delete D[t.group]}),n=r(()=>D[t.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{e(),n(),D[t.group]===N&&delete D[t.group],P=void 0}}function X(){let e={class:[`q-focusable relative-position cursor-pointer${t.denseToggle===!0&&t.switchToggleSide===!0?` items-end`:``}`,t.expandIconClass],side:t.switchToggleSide!==!0,avatar:t.switchToggleSide},n=[o(d,{class:`q-expansion-item__toggle-icon`+(t.expandedIcon===void 0&&_.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(e,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(o(`div`,{ref:y,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),o(w,e,()=>n)}function Z(){let e;return c.header===void 0?(e=[o(w,()=>[o(T,{lines:t.labelLines},()=>t.label||``),t.caption?o(T,{lines:t.captionLines,caption:!0},()=>t.caption):null])],t.icon&&e[t.switchToggleSide===!0?`push`:`unshift`](o(w,{side:t.switchToggleSide===!0,avatar:t.switchToggleSide!==!0},()=>o(d,{name:t.icon})))):e=[].concat(c.header(H.value)),t.disable!==!0&&t.hideExpandIcon!==!0&&e[t.switchToggleSide===!0?`unshift`:`push`](X()),e}function Q(){let e={ref:`item`,style:t.headerStyle,class:t.headerClass,dark:h.value,disable:t.disable,dense:t.dense,insetLevel:t.headerInsetLevel};return z.value===!0&&(e.clickable=!0,e.onClick=W,Object.assign(e,L.value===!0?R.value:U.value)),o(C,e,Z)}function $(){return n(o(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},m(c.default)),[[p,_.value]])}function ee(){let e=[Q(),o(E,{duration:t.duration,onShow:q,onHide:J},$)];return t.expandSeparator===!0&&e.push(o(b,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:h.value}),o(b,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:h.value})),e}return t.group!==void 0&&Y(),e(()=>{P?.()}),()=>o(`div`,{class:F.value},[o(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{k as t};
|