@loicngr/kobo 1.1.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server/kobo-tasks-handlers.js +147 -0
- package/dist/mcp-server/kobo-tasks-server.js +236 -29
- package/dist/server/db/migrations.js +61 -10
- package/dist/server/db/schema.js +1 -0
- package/dist/server/index.js +10 -4
- package/dist/server/routes/images.js +57 -0
- package/dist/server/routes/workspaces.js +80 -19
- package/dist/server/services/agent-manager.js +91 -5
- package/dist/server/services/image-service.js +73 -0
- package/dist/server/services/pr-watcher-service.js +61 -0
- package/dist/server/services/settings-service.js +75 -10
- package/dist/server/services/workspace-service.js +13 -0
- package/dist/server/utils/git-ops.js +39 -0
- package/package.json +3 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CufaRX1M.js → ActivityFeed-Bie-lcn7.js} +7 -7
- package/src/client/dist/spa/assets/ActivityFeed-D88GOO2z.css +1 -0
- package/src/client/dist/spa/assets/CreatePage-OC-fnNGP.js +2 -0
- package/src/client/dist/spa/assets/MainLayout-91cUoVYa.css +1 -0
- package/src/client/dist/spa/assets/MainLayout-BIQNJixM.js +1 -0
- package/src/client/dist/spa/assets/QBadge-DbE3eSf1.js +1 -0
- package/src/client/dist/spa/assets/QDialog-Cd_4PvgW.js +1 -0
- package/src/client/dist/spa/assets/QExpansionItem-pMQDDRMv.js +1 -0
- package/src/client/dist/spa/assets/QPage-lhV4XbI2.js +1 -0
- package/src/client/dist/spa/assets/{QSpinnerDots-DcaNq8uL.js → QSpinnerDots-ByNZaBWw.js} +1 -1
- package/src/client/dist/spa/assets/QTooltip-6GSFtFKP.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-BPH70mno.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-s2WJBreM.js +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-Dhkuuhf8.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-XT26aCJE.js +2 -0
- package/src/client/dist/spa/assets/_plugin-vue_export-helper-B6FaNy4R.js +1 -0
- package/src/client/dist/spa/assets/index-BoQWbZtE.js +5 -0
- package/src/client/dist/spa/assets/{nodes-DeIen-kp.js → nodes-CXdiSdC2.js} +1 -1
- package/src/client/dist/spa/assets/use-checkbox-Z9pfihkw.js +1 -0
- package/src/client/dist/spa/assets/use-quasar-CtCe3LQU.js +1 -0
- package/src/client/dist/spa/index.html +2 -2
- package/src/mcp-server/README.md +179 -0
- package/src/mcp-server/kobo-tasks-handlers.ts +238 -0
- package/src/mcp-server/kobo-tasks-server.ts +263 -29
- package/src/client/dist/spa/assets/ActivityFeed-DBNn62g_.css +0 -1
- package/src/client/dist/spa/assets/CreatePage-Cyl-TRHT.js +0 -2
- package/src/client/dist/spa/assets/MainLayout-D_vxGAPn.css +0 -1
- package/src/client/dist/spa/assets/MainLayout-Dzy0I8lB.js +0 -1
- package/src/client/dist/spa/assets/QBadge-Cb92Ia8-.js +0 -1
- package/src/client/dist/spa/assets/QDialog-CMC1Ph52.js +0 -1
- package/src/client/dist/spa/assets/QExpansionItem-DDjku8zz.js +0 -1
- package/src/client/dist/spa/assets/QPage-DaNo_vcd.js +0 -1
- package/src/client/dist/spa/assets/QTabPanels-BKHAAJ2p.js +0 -1
- package/src/client/dist/spa/assets/QTooltip-637ruGFc.js +0 -1
- package/src/client/dist/spa/assets/SettingsPage-B9VYIQs-.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-Blw7Qk7m.js +0 -1
- package/src/client/dist/spa/assets/WorkspacePage-DlnwomOE.js +0 -2
- package/src/client/dist/spa/assets/WorkspacePage-HtatyhXN.css +0 -1
- package/src/client/dist/spa/assets/_plugin-vue_export-helper-CHpmshS7.js +0 -1
- package/src/client/dist/spa/assets/index-DJkEmbBM.js +0 -5
- package/src/client/dist/spa/assets/use-quasar-Dq-Vjx_2.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loicngr/kobo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Kōbō — multi-workspace agent manager for Claude Code. Orchestrates isolated git worktrees with dev servers, Notion integration, and MCP tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -56,6 +56,8 @@
|
|
|
56
56
|
"start": "node dist/server/index.js",
|
|
57
57
|
"test": "vitest run --config vitest.config.ts --root .",
|
|
58
58
|
"test:watch": "vitest --config vitest.config.ts --root .",
|
|
59
|
+
"test:client": "cd src/client && npm test",
|
|
60
|
+
"test:all": "npm test && npm run test:client",
|
|
59
61
|
"lint": "biome check .",
|
|
60
62
|
"lint:fix": "biome check --write .",
|
|
61
63
|
"format": "biome format --write .",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{Bt as e,Ft as t,Gt as n,It as r,Nt as i,Ot as a,St as o,Wt as s,_t as c,at as l,dt as u,ft as d,ht as f,jt as p,kt as m,lt as ee,mt as te,pt as h,qt as g,r as ne,ut as _,y as v}from"./nodes-DeIen-kp.js";import{i as re,o as ie,s as y}from"./index-DJkEmbBM.js";import{A as ae,t as b}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as x}from"./QSpinnerDots-DcaNq8uL.js";import{t as oe}from"./QTooltip-637ruGFc.js";var{entries:se,setPrototypeOf:S,isFrozen:ce,getPrototypeOf:le,getOwnPropertyDescriptor:ue}=Object,{freeze:C,seal:w,create:de}=Object,{apply:T,construct:fe}=typeof Reflect<`u`&&Reflect;C||=function(e){return e},w||=function(e){return e},T||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},fe||=function(e){return new e(...[...arguments].slice(1))};var pe=A(Array.prototype.forEach),me=A(Array.prototype.lastIndexOf),he=A(Array.prototype.pop),E=A(Array.prototype.push),ge=A(Array.prototype.splice),_e=A(String.prototype.toLowerCase),ve=A(String.prototype.toString),ye=A(String.prototype.match),D=A(String.prototype.replace),be=A(String.prototype.indexOf),xe=A(String.prototype.trim),O=A(Object.prototype.hasOwnProperty),k=A(RegExp.prototype.test),Se=j(TypeError);function A(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return T(e,t,n)}}function j(e){return function(){return fe(e,[...arguments])}}function M(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_e;S&&S(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ce(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Ce(e){for(let t=0;t<e.length;t++)O(e,t)||(e[t]=null);return e}function N(e){let t=de(null);for(let[n,r]of se(e))O(e,n)&&(Array.isArray(r)?t[n]=Ce(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=N(r):t[n]=r);return t}function we(e,t){for(;e!==null;){let n=ue(e,t);if(n){if(n.get)return A(n.get);if(typeof n.value==`function`)return A(n.value)}e=le(e)}function n(){return null}return n}var Te=C(`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(`.`)),Ee=C(`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(`.`)),De=C([`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`]),Oe=C([`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`]),ke=C(`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(`.`)),Ae=C([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),je=C([`#text`]),Me=C(`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(`.`)),Ne=C(`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(`.`)),Pe=C(`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(`.`)),Fe=C([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),P=w(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ie=w(/<%[\w\W]*|[\w\W]*%>/gm),F=w(/\$\{[\w\W]*/gm),Le=w(/^data-[\-\w.\u00B7-\uFFFF]+$/),Re=w(/^aria-[\-\w]+$/),ze=w(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I=w(/^(?:\w+script|data):/i),Be=w(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ve=w(/^html$/i),He=w(/^[a-z][.\w]*(-[.\w]+)+$/i),Ue=Object.freeze({__proto__:null,ARIA_ATTR:Re,ATTR_WHITESPACE:Be,CUSTOM_ELEMENT:He,DATA_ATTR:Le,DOCTYPE_NAME:Ve,ERB_EXPR:Ie,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:I,MUSTACHE_EXPR:P,TMPLIT_EXPR:F}),We={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ge=function(){return typeof window>`u`?null:window},Ke=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}},qe=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Je(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ge(),t=e=>Je(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==We.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:f,trustedTypes:p}=e,m=c.prototype,ee=we(m,`cloneNode`),te=we(m,`remove`),h=we(m,`nextSibling`),g=we(m,`childNodes`),ne=we(m,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let _,v=``,{implementation:re,createNodeIterator:ie,createDocumentFragment:y,getElementsByTagName:ae}=n,{importNode:b}=r,x=qe();t.isSupported=typeof se==`function`&&typeof ne==`function`&&re&&re.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:S,TMPLIT_EXPR:ce,DATA_ATTR:le,ARIA_ATTR:ue,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:T,CUSTOM_ELEMENT:fe}=Ue,{IS_ALLOWED_URI:A}=Ue,j=null,Ce=M({},[...Te,...Ee,...De,...ke,...je]),P=null,Ie=M({},[...Me,...Ne,...Pe,...Fe]),F=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}})),Le=null,Re=null,I=Object.seal(de(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Be=!0,He=!0,Ye=!1,Xe=!0,L=!1,R=!0,z=!1,B=!1,V=!1,Ze=!1,H=!1,Qe=!1,$e=!0,et=!1,U=!0,tt=!1,W={},G=null,nt=M({},[`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`]),rt=null,it=M({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=M({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),st=`http://www.w3.org/1998/Math/MathML`,ct=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,lt=!1,ut=null,dt=M({},[st,ct,K],ve),ft=M({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=M({},[`annotation-xml`]),mt=M({},[`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=N(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ve:_e,j=O(e,`ALLOWED_TAGS`)?M({},e.ALLOWED_TAGS,J):Ce,P=O(e,`ALLOWED_ATTR`)?M({},e.ALLOWED_ATTR,J):Ie,ut=O(e,`ALLOWED_NAMESPACES`)?M({},e.ALLOWED_NAMESPACES,ve):dt,at=O(e,`ADD_URI_SAFE_ATTR`)?M(N(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=O(e,`ADD_DATA_URI_TAGS`)?M(N(it),e.ADD_DATA_URI_TAGS,J):it,G=O(e,`FORBID_CONTENTS`)?M({},e.FORBID_CONTENTS,J):nt,Le=O(e,`FORBID_TAGS`)?M({},e.FORBID_TAGS,J):N({}),Re=O(e,`FORBID_ATTR`)?M({},e.FORBID_ATTR,J):N({}),W=O(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Be=e.ALLOW_ARIA_ATTR!==!1,He=e.ALLOW_DATA_ATTR!==!1,Ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=e.SAFE_FOR_TEMPLATES||!1,R=e.SAFE_FOR_XML!==!1,z=e.WHOLE_DOCUMENT||!1,Ze=e.RETURN_DOM||!1,H=e.RETURN_DOM_FRAGMENT||!1,Qe=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,$e=e.SANITIZE_DOM!==!1,et=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,tt=e.IN_PLACE||!1,A=e.ALLOWED_URI_REGEXP||ze,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),L&&(He=!1),H&&(Ze=!0),W&&(j=M({},je),P=de(null),W.html===!0&&(M(j,Te),M(P,Me)),W.svg===!0&&(M(j,Ee),M(P,Ne),M(P,Fe)),W.svgFilters===!0&&(M(j,De),M(P,Ne),M(P,Fe)),W.mathMl===!0&&(M(j,ke),M(P,Pe),M(P,Fe))),O(e,`ADD_TAGS`)||(I.tagCheck=null),O(e,`ADD_ATTR`)||(I.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?I.tagCheck=e.ADD_TAGS:(j===Ce&&(j=N(j)),M(j,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?I.attributeCheck=e.ADD_ATTR:(P===Ie&&(P=N(P)),M(P,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&M(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.ADD_FORBID_CONTENTS,J)),U&&(j[`#text`]=!0),z&&M(j,[`html`,`head`,`body`]),j.table&&(M(j,[`tbody`]),delete Le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);_=e.TRUSTED_TYPES_POLICY,v=_.createHTML(``)}else _===void 0&&(_=Ke(p,i)),_!==null&&typeof v==`string`&&(v=_.createHTML(``));C&&C(e),_t=e}},xt=M({},[...Ee,...De,...Oe]),St=M({},[...ke,...Ae]),Ct=function(e){let t=ne(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=_e(e.tagName),r=_e(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===ct?t.namespaceURI===K?n===`svg`:t.namespaceURI===st?n===`svg`&&(r===`annotation-xml`||ft[r]):!!xt[n]:e.namespaceURI===st?t.namespaceURI===K?n===`math`:t.namespaceURI===ct?n===`math`&&pt[r]:!!St[n]:e.namespaceURI===K?t.namespaceURI===ct&&!pt[r]||t.namespaceURI===st&&!ft[r]?!1:!St[n]&&(mt[n]||!xt[n]):!!(ht===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},wt=function(e){E(t.removed,{element:e});try{ne(e).removeChild(e)}catch{te(e)}},Tt=function(e,n){try{E(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{E(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ze||H)try{wt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Et=function(e){let t=null,r=null;if(V)e=`<remove></remove>`+e;else{let t=ye(e,/^[\r\n\t ]+/);r=t&&t[0]}ht===`application/xhtml+xml`&&q===K&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=_?_.createHTML(e):e;if(q===K)try{t=new f().parseFromString(i,ht)}catch{}if(!t||!t.documentElement){t=re.createDocument(q,`template`,null);try{t.documentElement.innerHTML=lt?v:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?ae.call(t,z?`html`:`body`)[0]:z?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){pe(e,e=>{e.call(t,n,r,_t)})}let At=function(e){let n=null;if(Y(x.beforeSanitizeElements,e,null),Ot(e))return wt(e),!0;let r=J(e.nodeName);if(Y(x.uponSanitizeElement,e,{tagName:r,allowedTags:j}),R&&e.hasChildNodes()&&!kt(e.firstElementChild)&&k(/<[/\w!]/g,e.innerHTML)&&k(/<[/\w!]/g,e.textContent)||e.nodeType===We.progressingInstruction||R&&e.nodeType===We.comment&&k(/<[/\w]/g,e.data))return wt(e),!0;if(!(I.tagCheck instanceof Function&&I.tagCheck(r))&&(!j[r]||Le[r])){if(!Le[r]&&Mt(r)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r)))return!1;if(U&&!G[r]){let t=ne(e)||e.parentNode,n=g(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=ee(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,h(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&k(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(L&&e.nodeType===We.text&&(n=e.textContent,pe([oe,S,ce],e=>{n=D(n,e,` `)}),e.textContent!==n&&(E(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Re[t]||$e&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(He&&!Re[t]&&k(le,t))&&!(Be&&k(ue,t))&&!(I.attributeCheck instanceof Function&&I.attributeCheck(t,e))){if(!P[t]||Re[t]){if(!(Mt(e)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&k(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t,e))||t===`is`&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(!at[t]&&!k(A,D(r,T,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&be(r,`data:`)===0&&rt[e])&&!(Ye&&!k(w,D(r,T,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&ye(e,fe)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:P,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:xe(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,et&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),R&&k(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&ye(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Xe&&k(/\/>/i,u)){Tt(a,e);continue}L&&pe([oe,S,ce],e=>{u=D(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(_&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!o)switch(p.getAttributeType(d,c)){case`TrustedHTML`:u=_.createHTML(u);break;case`TrustedScriptURL`:u=_.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):he(t.removed)}catch{Tt(a,e)}}Y(x.afterSanitizeAttributes,e,null)},Pt=function e(t){let n=null,r=Dt(t);for(Y(x.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Y(x.uponSanitizeShadowNode,n,null),At(n),Nt(n),n.content instanceof a&&e(n.content);Y(x.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 Se(`dirty is not a string, aborting`)}else throw Se(`toString is not a function`);if(!t.isSupported)return e;if(B||bt(n),t.removed=[],typeof e==`string`&&(tt=!1),tt){if(e.nodeName){let t=J(e.nodeName);if(!j[t]||Le[t])throw Se(`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===We.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!Ze&&!L&&!z&&e.indexOf(`<`)===-1)return _&&Qe?_.createHTML(e):e;if(i=Et(e),!i)return Ze?null:Qe?v:``}i&&V&&wt(i.firstChild);let u=Dt(tt?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(tt)return e;if(Ze){if(H)for(l=y.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(P.shadowroot||P.shadowrootmode)&&(l=b.call(r,l,!0)),l}let d=z?i.outerHTML:i.innerHTML;return z&&j[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&k(Ve,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
2
|
-
`+d),L&&
|
|
1
|
+
import{At as e,Ct as t,Gt as n,It as r,Jt as i,Kt as a,Lt as o,Mt as s,Pt as c,Vt as l,dt as u,ft as d,gt as f,ht as p,kt as m,mt as h,ot as g,pt as _,r as ee,ut as te,vt as v,y}from"./nodes-CXdiSdC2.js";import{i as ne,o as re,s as b}from"./index-BoQWbZtE.js";import{t as ie}from"./QSpinnerDots-ByNZaBWw.js";import{A as ae,t as x}from"./_plugin-vue_export-helper-B6FaNy4R.js";import{t as oe}from"./QTooltip-6GSFtFKP.js";var{entries:se,setPrototypeOf:S,isFrozen:ce,getPrototypeOf:le,getOwnPropertyDescriptor:ue}=Object,{freeze:C,seal:w,create:de}=Object,{apply:fe,construct:pe}=typeof Reflect<`u`&&Reflect;C||=function(e){return e},w||=function(e){return e},fe||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},pe||=function(e){return new e(...[...arguments].slice(1))};var T=A(Array.prototype.forEach),me=A(Array.prototype.lastIndexOf),E=A(Array.prototype.pop),he=A(Array.prototype.push),ge=A(Array.prototype.splice),_e=A(String.prototype.toLowerCase),ve=A(String.prototype.toString),D=A(String.prototype.match),ye=A(String.prototype.replace),be=A(String.prototype.indexOf),xe=A(String.prototype.trim),O=A(Object.prototype.hasOwnProperty),k=A(RegExp.prototype.test),Se=j(TypeError);function A(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return fe(e,t,n)}}function j(e){return function(){return pe(e,[...arguments])}}function M(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_e;S&&S(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ce(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Ce(e){for(let t=0;t<e.length;t++)O(e,t)||(e[t]=null);return e}function N(e){let t=de(null);for(let[n,r]of se(e))O(e,n)&&(Array.isArray(r)?t[n]=Ce(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=N(r):t[n]=r);return t}function we(e,t){for(;e!==null;){let n=ue(e,t);if(n){if(n.get)return A(n.get);if(typeof n.value==`function`)return A(n.value)}e=le(e)}function n(){return null}return n}var Te=C(`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(`.`)),Ee=C(`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(`.`)),De=C([`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`]),Oe=C([`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`]),ke=C(`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(`.`)),Ae=C([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),je=C([`#text`]),Me=C(`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(`.`)),Ne=C(`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(`.`)),Pe=C(`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(`.`)),Fe=C([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),P=w(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ie=w(/<%[\w\W]*|[\w\W]*%>/gm),F=w(/\$\{[\w\W]*/gm),Le=w(/^data-[\-\w.\u00B7-\uFFFF]+$/),Re=w(/^aria-[\-\w]+$/),ze=w(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I=w(/^(?:\w+script|data):/i),Be=w(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ve=w(/^html$/i),He=w(/^[a-z][.\w]*(-[.\w]+)+$/i),Ue=Object.freeze({__proto__:null,ARIA_ATTR:Re,ATTR_WHITESPACE:Be,CUSTOM_ELEMENT:He,DATA_ATTR:Le,DOCTYPE_NAME:Ve,ERB_EXPR:Ie,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:I,MUSTACHE_EXPR:P,TMPLIT_EXPR:F}),We={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ge=function(){return typeof window>`u`?null:window},Ke=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}},qe=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Je(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ge(),t=e=>Je(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==We.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:f,trustedTypes:p}=e,m=c.prototype,h=we(m,`cloneNode`),g=we(m,`remove`),_=we(m,`nextSibling`),ee=we(m,`childNodes`),te=we(m,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,y=``,{implementation:ne,createNodeIterator:re,createDocumentFragment:b,getElementsByTagName:ie}=n,{importNode:ae}=r,x=qe();t.isSupported=typeof se==`function`&&typeof te==`function`&&ne&&ne.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:S,TMPLIT_EXPR:ce,DATA_ATTR:le,ARIA_ATTR:ue,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:fe,CUSTOM_ELEMENT:pe}=Ue,{IS_ALLOWED_URI:A}=Ue,j=null,Ce=M({},[...Te,...Ee,...De,...ke,...je]),P=null,Ie=M({},[...Me,...Ne,...Pe,...Fe]),F=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}})),Le=null,Re=null,I=Object.seal(de(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Be=!0,He=!0,Ye=!1,Xe=!0,L=!1,R=!0,z=!1,B=!1,V=!1,Ze=!1,H=!1,Qe=!1,$e=!0,et=!1,U=!0,tt=!1,W={},G=null,nt=M({},[`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`]),rt=null,it=M({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=M({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),st=`http://www.w3.org/1998/Math/MathML`,ct=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,lt=!1,ut=null,dt=M({},[st,ct,K],ve),ft=M({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=M({},[`annotation-xml`]),mt=M({},[`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=N(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ve:_e,j=O(e,`ALLOWED_TAGS`)?M({},e.ALLOWED_TAGS,J):Ce,P=O(e,`ALLOWED_ATTR`)?M({},e.ALLOWED_ATTR,J):Ie,ut=O(e,`ALLOWED_NAMESPACES`)?M({},e.ALLOWED_NAMESPACES,ve):dt,at=O(e,`ADD_URI_SAFE_ATTR`)?M(N(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=O(e,`ADD_DATA_URI_TAGS`)?M(N(it),e.ADD_DATA_URI_TAGS,J):it,G=O(e,`FORBID_CONTENTS`)?M({},e.FORBID_CONTENTS,J):nt,Le=O(e,`FORBID_TAGS`)?M({},e.FORBID_TAGS,J):N({}),Re=O(e,`FORBID_ATTR`)?M({},e.FORBID_ATTR,J):N({}),W=O(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Be=e.ALLOW_ARIA_ATTR!==!1,He=e.ALLOW_DATA_ATTR!==!1,Ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=e.SAFE_FOR_TEMPLATES||!1,R=e.SAFE_FOR_XML!==!1,z=e.WHOLE_DOCUMENT||!1,Ze=e.RETURN_DOM||!1,H=e.RETURN_DOM_FRAGMENT||!1,Qe=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,$e=e.SANITIZE_DOM!==!1,et=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,tt=e.IN_PLACE||!1,A=e.ALLOWED_URI_REGEXP||ze,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),L&&(He=!1),H&&(Ze=!0),W&&(j=M({},je),P=de(null),W.html===!0&&(M(j,Te),M(P,Me)),W.svg===!0&&(M(j,Ee),M(P,Ne),M(P,Fe)),W.svgFilters===!0&&(M(j,De),M(P,Ne),M(P,Fe)),W.mathMl===!0&&(M(j,ke),M(P,Pe),M(P,Fe))),O(e,`ADD_TAGS`)||(I.tagCheck=null),O(e,`ADD_ATTR`)||(I.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?I.tagCheck=e.ADD_TAGS:(j===Ce&&(j=N(j)),M(j,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?I.attributeCheck=e.ADD_ATTR:(P===Ie&&(P=N(P)),M(P,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&M(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.ADD_FORBID_CONTENTS,J)),U&&(j[`#text`]=!0),z&&M(j,[`html`,`head`,`body`]),j.table&&(M(j,[`tbody`]),delete Le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);v=e.TRUSTED_TYPES_POLICY,y=v.createHTML(``)}else v===void 0&&(v=Ke(p,i)),v!==null&&typeof y==`string`&&(y=v.createHTML(``));C&&C(e),_t=e}},xt=M({},[...Ee,...De,...Oe]),St=M({},[...ke,...Ae]),Ct=function(e){let t=te(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=_e(e.tagName),r=_e(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===ct?t.namespaceURI===K?n===`svg`:t.namespaceURI===st?n===`svg`&&(r===`annotation-xml`||ft[r]):!!xt[n]:e.namespaceURI===st?t.namespaceURI===K?n===`math`:t.namespaceURI===ct?n===`math`&&pt[r]:!!St[n]:e.namespaceURI===K?t.namespaceURI===ct&&!pt[r]||t.namespaceURI===st&&!ft[r]?!1:!St[n]&&(mt[n]||!xt[n]):!!(ht===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},wt=function(e){he(t.removed,{element:e});try{te(e).removeChild(e)}catch{g(e)}},Tt=function(e,n){try{he(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{he(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ze||H)try{wt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Et=function(e){let t=null,r=null;if(V)e=`<remove></remove>`+e;else{let t=D(e,/^[\r\n\t ]+/);r=t&&t[0]}ht===`application/xhtml+xml`&&q===K&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=v?v.createHTML(e):e;if(q===K)try{t=new f().parseFromString(i,ht)}catch{}if(!t||!t.documentElement){t=ne.createDocument(q,`template`,null);try{t.documentElement.innerHTML=lt?y:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?ie.call(t,z?`html`:`body`)[0]:z?t.documentElement:a},Dt=function(e){return re.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){T(e,e=>{e.call(t,n,r,_t)})}let At=function(e){let n=null;if(Y(x.beforeSanitizeElements,e,null),Ot(e))return wt(e),!0;let r=J(e.nodeName);if(Y(x.uponSanitizeElement,e,{tagName:r,allowedTags:j}),R&&e.hasChildNodes()&&!kt(e.firstElementChild)&&k(/<[/\w!]/g,e.innerHTML)&&k(/<[/\w!]/g,e.textContent)||e.nodeType===We.progressingInstruction||R&&e.nodeType===We.comment&&k(/<[/\w]/g,e.data))return wt(e),!0;if(!(I.tagCheck instanceof Function&&I.tagCheck(r))&&(!j[r]||Le[r])){if(!Le[r]&&Mt(r)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r)))return!1;if(U&&!G[r]){let t=te(e)||e.parentNode,n=ee(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=h(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,_(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&k(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(L&&e.nodeType===We.text&&(n=e.textContent,T([oe,S,ce],e=>{n=ye(n,e,` `)}),e.textContent!==n&&(he(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Re[t]||$e&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(He&&!Re[t]&&k(le,t))&&!(Be&&k(ue,t))&&!(I.attributeCheck instanceof Function&&I.attributeCheck(t,e))){if(!P[t]||Re[t]){if(!(Mt(e)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&k(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t,e))||t===`is`&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(!at[t]&&!k(A,ye(r,fe,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&be(r,`data:`)===0&&rt[e])&&!(Ye&&!k(w,ye(r,fe,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&D(e,pe)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:P,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:xe(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,et&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),R&&k(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&D(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Xe&&k(/\/>/i,u)){Tt(a,e);continue}L&&T([oe,S,ce],e=>{u=ye(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(v&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!o)switch(p.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):E(t.removed)}catch{Tt(a,e)}}Y(x.afterSanitizeAttributes,e,null)},Pt=function e(t){let n=null,r=Dt(t);for(Y(x.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Y(x.uponSanitizeShadowNode,n,null),At(n),Nt(n),n.content instanceof a&&e(n.content);Y(x.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 Se(`dirty is not a string, aborting`)}else throw Se(`toString is not a function`);if(!t.isSupported)return e;if(B||bt(n),t.removed=[],typeof e==`string`&&(tt=!1),tt){if(e.nodeName){let t=J(e.nodeName);if(!j[t]||Le[t])throw Se(`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===We.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!Ze&&!L&&!z&&e.indexOf(`<`)===-1)return v&&Qe?v.createHTML(e):e;if(i=Et(e),!i)return Ze?null:Qe?y:``}i&&V&&wt(i.firstChild);let u=Dt(tt?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(tt)return e;if(Ze){if(H)for(l=b.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(P.shadowroot||P.shadowrootmode)&&(l=ae.call(r,l,!0)),l}let d=z?i.outerHTML:i.innerHTML;return z&&j[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&k(Ve,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
2
|
+
`+d),L&&T([oe,S,ce],e=>{d=ye(d,e,` `)}),v&&Qe?v.createHTML(d):d},t.setConfig=function(){bt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),B=!0},t.clearConfig=function(){_t=null,B=!1},t.isValidAttribute=function(e,t,n){return _t||bt({}),jt(J(e),J(t),n)},t.addHook=function(e,t){typeof t==`function`&&he(x[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=me(x[e],t);return n===-1?void 0:ge(x[e],n,1)[0]}return E(x[e])},t.removeHooks=function(e){x[e]=[]},t.removeAllHooks=function(){x=qe()},t}var Ye=Je(),Xe;function L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var R=L();function z(e){R=e}var B={exec:()=>null};function V(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(H.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Ze=(()=>{try{return!0}catch{return!1}})(),H={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|$)|$)/,U=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,tt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,W=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,G=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,nt=V(G).replace(/bull/g,W).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(),rt=V(G).replace(/bull/g,W).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(),it=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,at=/^[^\n]+/,ot=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,st=V(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,ot).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ct=V(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,W).getRegex(),K=`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`,q=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,lt=V(`^ {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`,q).replace(`tag`,K).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ut=V(it).replace(`hr`,U).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`,K).getRegex(),dt={blockquote:V(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,ut).getRegex(),code:$e,def:st,fences:et,heading:tt,hr:U,html:lt,lheading:nt,list:ct,newline:Qe,paragraph:ut,table:B,text:at},ft=V(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,U).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`,K).getRegex(),pt={...dt,lheading:rt,table:ft,paragraph:V(it).replace(`hr`,U).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,ft).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`,K).getRegex()},mt={...dt,html:V(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,q).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:B,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:V(it).replace(`hr`,U).replace(`heading`,` *#{1,6} *[^
|
|
3
3
|
]`).replace(`lheading`,nt).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},ht=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,gt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,J=/^( {2,}|\\)\n(?!\s*$)/,_t=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,vt=/[\p{P}\p{S}]/u,yt=/[\s\p{P}\p{S}]/u,bt=/[^\s\p{P}\p{S}]/u,xt=V(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,yt).getRegex(),St=/(?!~)[\p{P}\p{S}]/u,Ct=/(?!~)[\s\p{P}\p{S}]/u,wt=/(?:[^\s\p{P}\p{S}]|~)/u,Tt=V(/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(),Et=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Dt=V(Et,`u`).replace(/punct/g,vt).getRegex(),Ot=V(Et,`u`).replace(/punct/g,St).getRegex(),kt=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Y=V(kt,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),At=V(kt,`gu`).replace(/notPunctSpace/g,wt).replace(/punctSpace/g,Ct).replace(/punct/g,St).getRegex(),jt=V(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),Mt=V(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,vt).getRegex(),Nt=V(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),Pt=V(/\\(punct)/,`gu`).replace(/punct/g,vt).getRegex(),Ft=V(/^<(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(),It=V(q).replace(`(?:-->|$)`,`-->`).getRegex(),Lt=V(`^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`,It).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Rt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,zt=V(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Rt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Bt=V(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Rt).replace(`ref`,ot).getRegex(),Vt=V(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,ot).getRegex(),Ht=V(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Bt).replace(`nolink`,Vt).getRegex(),Ut=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Wt={_backpedal:B,anyPunctuation:Pt,autolink:Ft,blockSkip:Tt,br:J,code:gt,del:B,delLDelim:B,delRDelim:B,emStrongLDelim:Dt,emStrongRDelimAst:Y,emStrongRDelimUnd:jt,escape:ht,link:zt,nolink:Vt,punctuation:xt,reflink:Bt,reflinkSearch:Ht,tag:Lt,text:_t,url:B},Gt={...Wt,link:V(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Rt).getRegex(),reflink:V(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Rt).getRegex()},Kt={...Wt,emStrongRDelimAst:At,emStrongLDelim:Ot,delLDelim:Mt,delRDelim:Nt,url:V(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Ut).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:V(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Ut).getRegex()},qt={...Kt,br:V(J).replace(`{2,}`,`*`).getRegex(),text:V(Kt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Jt={normal:dt,gfm:pt,pedantic:mt},Yt={normal:Wt,gfm:Kt,breaks:qt,pedantic:Gt},Xt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Zt=e=>Xt[e];function X(e,t){if(t){if(H.escapeTest.test(e))return e.replace(H.escapeReplace,Zt)}else if(H.escapeTestNoEncode.test(e))return e.replace(H.escapeReplaceNoEncode,Zt);return e}function Qt(e){try{e=encodeURI(e).replace(H.percentDecode,`%`)}catch{return null}return e}function $t(e,t){let n=e.replace(H.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(H.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(H.slashPipe,`|`);return n}function en(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 tn(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 nn(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 rn(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 an(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
4
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 on=class{constructor(e){
|
|
5
|
+
`)}var on=class{constructor(e){b(this,`options`,void 0),b(this,`rules`,void 0),b(this,`lexer`,void 0),this.options=e||R}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:en(e,`
|
|
6
6
|
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=an(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=en(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:en(t[0],`
|
|
7
7
|
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=en(t[0],`
|
|
8
8
|
`).split(`
|
|
@@ -24,7 +24,7 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
24
24
|
`+l}u=!l.trim(),r+=p+`
|
|
25
25
|
`,e=e.substring(p.length+1),c=m.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=$t(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
26
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($t(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=en(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=tn(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)),rn(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 rn(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){
|
|
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=en(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=tn(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)),rn(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 rn(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){b(this,`tokens`,void 0),b(this,`options`,void 0),b(this,`state`,void 0),b(this,`inlineQueue`,void 0),b(this,`tokenizer`,void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||R,this.options.tokenizer=this.options.tokenizer||new on,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:H,block:Jt.normal,inline:Yt.normal};this.options.pedantic?(t.block=Jt.pedantic,t.inline=Yt.pedantic):this.options.gfm&&(t.block=Jt.gfm,this.options.breaks?t.inline=Yt.breaks:t.inline=Yt.gfm),this.tokenizer.rules=t}static get rules(){return{block:Jt,inline:Yt}}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(H.carriageReturn,`
|
|
28
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(H.tabCharGlobal,` `).replace(H.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
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
30
|
`)?``:`
|
|
@@ -38,7 +38,7 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
38
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
39
|
`)?``:`
|
|
40
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}},sn=class{constructor(e){
|
|
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}},sn=class{constructor(e){b(this,`options`,void 0),b(this,`parser`,void 0),this.options=e||R}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(H.notSpaceStart)?.[0],i=e.replace(H.endingNewline,``)+`
|
|
42
42
|
`;return r?`<pre><code class="language-`+X(r)+`">`+(n?i:X(i,!0))+`</code></pre>
|
|
43
43
|
`:`<pre><code>`+(n?i:X(i,!0))+`</code></pre>
|
|
44
44
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
@@ -56,5 +56,5 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
56
56
|
`}tablerow({text:e}){return`<tr>
|
|
57
57
|
${e}</tr>
|
|
58
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=Qt(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=Qt(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)}},cn=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){
|
|
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 un.parse(e,t)}$.options=$.setOptions=function(e){return un.setOptions(e),$.defaults=un.defaults,z($.defaults),$},$.getDefaults=L,$.defaults=R,$.use=function(...e){return un.use(...e),$.defaults=un.defaults,z($.defaults),$},$.walkTokens=function(e,t){return un.walkTokens(e,t)},$.parseInline=un.parseInline,$.Parser=Q,$.parser=Q.parse,$.Renderer=sn,$.TextRenderer=cn,$.Lexer=Z,$.lexer=Z.lex,$.Tokenizer=on,$.Hooks=ln,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Q.parse,Z.lex;var dn={key:0,class:`af-empty column items-center justify-center text-center q-pa-xl`},fn=[`data-item-id`],pn=[`onClick`],mn={class:`af-tool-label text-grey-7`},hn={class:`af-time`},gn={key:0,class:`af-tool-args q-mt-xs rounded-borders`},_n={class:`af-args-pre`},vn={class:`af-text-header row items-center q-mb-xs`},yn={class:`af-time`},bn=[`innerHTML`],xn={class:`af-options q-mt-sm q-gutter-sm`},Sn={class:`text-weight-bold q-mr-xs`},Cn=[`innerHTML`],wn={key:2,class:`row items-center`},Tn={class:`af-system-content text-caption text-amber-6`},En={class:`af-time`},Dn={key:3,class:`row items-center`},On={class:`af-error-content text-red-5`},kn={class:`af-time`},An={key:4,class:`row items-center`},jn={class:`af-raw-content text-grey-7`},Mn={class:`af-time`},Nn=b(c({__name:`ActivityFeed`,setup(c){function y(e){let t=$.parse(e,{async:!1,breaks:!0,gfm:!0});return Ye.sanitize(t)}let b=ie(),se=re(),S=e(null),ce=e(new Set);function le(e){let t=[...e.matchAll(/^-\s*\*\*([A-Z])\s*[—–-]\s*(.+?)\*\*/gm)];if(t.length<2)return null;let n=e.indexOf(t[0][0]);return{textBefore:e.substring(0,n).trim(),options:t.map(e=>({key:e[1],label:`${e[1]} — ${e[2]}`}))}}let ue=new Map;function C(e,t){return ue.has(e)||ue.set(e,le(t)),ue.get(e)}function w(e){let t=b.selectedWorkspaceId;t&&se.sendChatMessage(t,e)}let de=ee(()=>{let e=b.activityFeed;for(let t=e.length-1;t>=0;t--)if(e[t].type===`text`)return e[t].id;return null}),T=e(-1);function fe(){let e=b.activityFeed.map((e,t)=>({item:e,idx:t})).filter(({item:e})=>e.meta?.sender===`user`);if(e.length===0)return;T.value<=0?T.value=e.length-1:T.value--;let t=e[T.value].item.id,n=S.value?.querySelector(`[data-item-id="${t}"]`);n&&n.scrollIntoView({behavior:`smooth`,block:`center`})}t(()=>b.activityFeed.length,()=>{T.value=-1});let pe=e(!1);function me(){let e=S.value;e&&(pe.value=!(e.scrollHeight-e.scrollTop-e.clientHeight<50))}function he(){if(pe.value)return;let e=S.value;e&&(e.scrollTop=e.scrollHeight)}t(()=>b.activityFeed.length,()=>{o(he)}),a(()=>{S.value?.addEventListener(`scroll`,me),o(he)}),m(()=>{S.value?.removeEventListener(`scroll`,me)});function E(e){return new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function ge(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 _e(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 ve(e){switch(e.meta?.sender){case`system-prompt`:return`Initial Prompt`;case`user`:return`You`;default:return`Agent`}}function ye(e){switch(e.meta?.sender){case`system-prompt`:return`text-indigo-4`;case`user`:return`text-green-4`;default:return`text-blue-4`}}function D(e){if(!e.meta)return!1;let t=e.meta;return t.input!==void 0&&t.input!==null}function be(e){ce.value.has(e)?ce.value.delete(e):ce.value.add(e)}function xe(e){return ce.value.has(e)}function O(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)}}return(e,t)=>(p(),h(`div`,{ref_key:`feedContainer`,ref:S,class:`activity-feed q-pa-sm`},[s(b).activityFeed.length===0?(p(),h(`div`,dn,[f(v,{name:`forum`,size:`48px`,color:`grey-8`}),t[0]||=_(`div`,{class:`text-grey-6 q-mt-md text-body2`},`No activity yet`,-1),t[1]||=_(`div`,{class:`text-grey-8 text-caption q-mt-xs`},` Start a workspace to see agent output here `,-1)])):d(``,!0),(p(!0),h(l,null,i(s(b).activityFeed,e=>(p(),h(`div`,{key:e.id,"data-item-id":e.id,class:n([`af-item text-caption rounded-borders`,_e(e)])},[e.type===`tool_use`?(p(),h(l,{key:0},[_(`div`,{class:n([`af-tool row items-center q-gutter-xs`,{"cursor-pointer":D(e)}]),onClick:t=>D(e)&&be(e.id)},[f(v,{name:ge(e.content),size:`14px`,color:`grey-6`},null,8,[`name`]),_(`span`,mn,g(e.content),1),D(e)?(p(),u(v,{key:0,name:xe(e.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-7`},null,8,[`name`])):d(``,!0),f(ae),_(`span`,hn,g(E(e.timestamp)),1)],10,pn),xe(e.id)?(p(),h(`div`,gn,[_(`pre`,_n,g(O(e)),1)])):d(``,!0)],64)):e.type===`text`?(p(),h(l,{key:1},[_(`div`,vn,[_(`span`,{class:n([`text-caption text-weight-bold`,ye(e)])},g(ve(e)),3),e.meta?.pending?(p(),u(x,{key:0,size:`14px`,color:`grey-5`,class:`q-ml-sm`})):d(``,!0),f(ae),_(`span`,yn,g(E(e.timestamp)),1)]),C(e.id,e.content)&&e.id===de.value?(p(),h(l,{key:0},[_(`div`,{class:`af-text-content af-markdown`,innerHTML:y(C(e.id,e.content).textBefore)},null,8,bn),_(`div`,xn,[(p(!0),h(l,null,i(C(e.id,e.content).options,e=>(p(),u(ne,{key:e.key,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:t=>w(e.key)},{default:r(()=>[_(`span`,Sn,g(e.key),1),te(` `+g(e.label.substring(e.key.length+3)),1)]),_:2},1032,[`onClick`]))),128))])],64)):(p(),h(`div`,{key:1,class:`af-text-content af-markdown`,innerHTML:y(e.content)},null,8,Cn))],64)):e.type===`system`?(p(),h(`div`,wn,[f(v,{name:`info`,size:`14px`,color:`amber-6`,class:`q-mr-xs`}),_(`span`,Tn,g(e.content),1),f(ae),_(`span`,En,g(E(e.timestamp)),1)])):e.type===`error`?(p(),h(`div`,Dn,[f(v,{name:`error`,size:`14px`,color:`red-5`,class:`q-mr-xs`}),_(`span`,On,g(e.content),1),f(ae),_(`span`,kn,g(E(e.timestamp)),1)])):(p(),h(`div`,An,[_(`span`,jn,g(e.content),1),f(ae),_(`span`,Mn,g(E(e.timestamp)),1)]))],10,fn))),128)),s(b).activityFeed.some(e=>e.meta?.sender===`user`)?(p(),u(ne,{key:1,round:``,dense:``,size:`sm`,icon:`person_search`,color:`indigo-8`,class:`scroll-to-user-btn`,onClick:fe},{default:r(()=>[f(oe,null,{default:r(()=>[...t[2]||=[te(`Go to your messages`,-1)]]),_:1})]),_:1})):d(``,!0)],512))}}),[[`__scopeId`,`data-v-eb9ffc77`]]);export{Nn as default};
|
|
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=Qt(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=Qt(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)}},cn=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){b(this,`options`,void 0),b(this,`renderer`,void 0),b(this,`textRenderer`,void 0),this.options=e||R,this.options.renderer=this.options.renderer||new sn,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new cn}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}},ln=(Xe=class{constructor(e){b(this,`options`,void 0),b(this,`block`,void 0),this.options=e||R}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}},b(Xe,`passThroughHooks`,new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`])),b(Xe,`passThroughHooksRespectAsync`,new Set([`preprocess`,`postprocess`,`processAllTokens`])),Xe),un=new class{constructor(...e){b(this,`defaults`,L()),b(this,`options`,this.setOptions),b(this,`parse`,this.parseMarkdown(!0)),b(this,`parseInline`,this.parseMarkdown(!1)),b(this,`Parser`,Q),b(this,`Renderer`,sn),b(this,`TextRenderer`,cn),b(this,`Lexer`,Z),b(this,`Tokenizer`,on),b(this,`Hooks`,ln),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 sn(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 on(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 ln;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];ln.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&ln.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 un.parse(e,t)}$.options=$.setOptions=function(e){return un.setOptions(e),$.defaults=un.defaults,z($.defaults),$},$.getDefaults=L,$.defaults=R,$.use=function(...e){return un.use(...e),$.defaults=un.defaults,z($.defaults),$},$.walkTokens=function(e,t){return un.walkTokens(e,t)},$.parseInline=un.parseInline,$.Parser=Q,$.parser=Q.parse,$.Renderer=sn,$.TextRenderer=cn,$.Lexer=Z,$.lexer=Z.lex,$.Tokenizer=on,$.Hooks=ln,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Q.parse,Z.lex;var dn={key:0,class:`af-empty column items-center justify-center text-center q-pa-xl`},fn={key:1,class:`row justify-center q-my-sm`},pn=[`data-item-id`],mn={class:`af-tool row items-center q-gutter-xs`},hn={class:`af-time`},gn={key:0,class:`text-grey-4 q-mb-xs`},_n={class:`af-ask-options-list q-mb-sm`},vn={class:`text-weight-bold text-grey-3`},yn={key:0},bn={key:1,class:`af-ask-buttons q-gutter-xs`},xn=[`onClick`],Sn={class:`af-tool-label text-grey-7`},Cn={key:0,class:`af-tool-desc text-grey-8`},wn={class:`af-time`},Tn={key:0,class:`af-tool-args q-mt-xs rounded-borders`},En={class:`af-args-pre`},Dn={class:`af-text-header row items-center q-mb-xs`},On={class:`af-time`},kn=[`innerHTML`],An={key:0,class:`af-options q-mt-sm q-gutter-xs`},jn=[`onClick`],Mn={class:`af-system-content text-caption text-amber-6`},Nn={class:`af-time`},Pn={key:0,class:`af-system-details q-mt-xs rounded-borders`},Fn={class:`af-args-pre`},In={key:4,class:`row items-center`},Ln={class:`af-error-content text-red-5`},Rn={class:`af-time`},zn={key:5,class:`row items-center`},Bn={class:`af-raw-content text-grey-7`},Vn={class:`af-time`},Hn=50,Un=50,Wn=x(v({__name:`ActivityFeed`,setup(v){function b(e){let t=$.parse(e,{async:!1,breaks:!0,gfm:!0});return Ye.sanitize(t)}let x=re(),se=ne(),S=l(null),ce=l(!1),le=l(new Set);function ue(e){let t=[...e.matchAll(/^-\s*\*\*([A-Z])\s*[—–-]\s*(.+?)\*\*/gm)];if(t.length>=2){let n=e.indexOf(t[0][0]);return{textBefore:e.substring(0,n).trim(),options:t.map(e=>({key:e[1],label:`${e[1]} — ${e[2]}`}))}}let n=[...e.matchAll(/^\d+\.\s*\*\*(.+?)\*\*\s*[—–-]\s*(.+)/gm)];if(n.length>=2){let t=e.indexOf(n[0][0]);return{textBefore:e.substring(0,t).trim(),options:n.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let r=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\([^)]*\)[^\S\n]*)?[—–-][^\S\n]*(.+)/gm)];if(r.length>=2){let t=e.indexOf(r[0][0]);return{textBefore:e.substring(0,t).trim(),options:r.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let i=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\(([^)]*)\))?[^\S\n]*$/gm)];if(i.length>=2){let t=e.indexOf(i[0][0]);return{textBefore:e.substring(0,t).trim(),options:i.map((e,t)=>({key:String(t+1),label:e[2]?`${e[1]} (${e[2]})`:e[1]}))}}return null}let C=new Map;function w(e,t){return C.has(e)||C.set(e,ue(t)),C.get(e)}function de(e){let t=x.selectedWorkspaceId;t&&se.sendChatMessage(t,e)}let fe=te(()=>{let e=x.activityFeed;for(let t=e.length-1;t>=0;t--)if(e[t].type===`text`)return e[t].id;return null}),pe=te(()=>{let e=x.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}),T=l(-1);function me(){let e=x.activityFeed,n=e.map((e,t)=>({item:e,idx:t})).filter(({item:e})=>e.meta?.sender===`user`);if(n.length===0)return;T.value<=0?T.value=n.length-1:T.value--;let r=n[T.value].idx,i=n[T.value].item.id,a=e.length-r;a>E.value&&(E.value=Math.min(a+10,e.length)),t(()=>{let e=S.value?.querySelector(`[data-item-id="${i}"]`);e&&e.scrollIntoView({behavior:`smooth`,block:`center`})})}r(()=>x.selectedWorkspaceId,()=>{T.value=-1});let E=l(Hn);r(()=>x.selectedWorkspaceId,()=>{E.value=Hn});let he=te(()=>{let e=x.activityFeed;return e.length<=E.value?e:e.slice(-E.value)}),ge=l(!1);function _e(){let e=S.value;if(e&&(ge.value=!(e.scrollHeight-e.scrollTop-e.clientHeight<50),e.scrollTop<200&&!ce.value)){let n=x.activityFeed.length;if(E.value<n){ce.value=!0;let r=e.scrollHeight;E.value=Math.min(E.value+Un,n),t(()=>{S.value&&(S.value.scrollTop+=S.value.scrollHeight-r),ce.value=!1})}}}function ve(){if(ge.value)return;let e=S.value;e&&(e.scrollTop=e.scrollHeight)}r(()=>x.activityFeed.length,()=>{t(ve)}),m(()=>{S.value?.addEventListener(`scroll`,_e),t(ve)}),e(()=>{S.value?.removeEventListener(`scroll`,_e)});function D(e){return new Date(e).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function ye(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 be(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 xe(e){switch(e.meta?.sender){case`system-prompt`:return`Initial Prompt`;case`user`:return`You`;default:return`Agent`}}function O(e){switch(e.meta?.sender){case`system-prompt`:return`text-indigo-4`;case`user`:return`text-green-4`;default:return`text-blue-4`}}function k(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 Se(e){if(!e.meta)return``;let t=e.meta.input;return t&&typeof t.description==`string`?t.description:``}function A(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 j(e){let t=x.selectedWorkspaceId;t&&se.sendChatMessage(t,e)}function M(e){if(!e.meta)return!1;let t=e.meta;return t.input!==void 0&&t.input!==null}function Ce(e){le.value.has(e)?le.value.delete(e):le.value.add(e)}function N(e){return le.value.has(e)}function we(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)}}function Te(e){return e.type!==`system`||!e.meta?!1:Object.keys(e.meta).length>0}function Ee(e){if(!e.meta)return``;try{return JSON.stringify(e.meta,null,2)}catch{return``}}return(e,t)=>(s(),h(`div`,{ref_key:`feedContainer`,ref:S,class:`activity-feed q-pa-sm`},[n(x).activityFeed.length===0?(s(),h(`div`,dn,[f(y,{name:`forum`,size:`48px`,color:`grey-8`}),t[0]||=u(`div`,{class:`text-grey-6 q-mt-md text-body2`},`No activity yet`,-1),t[1]||=u(`div`,{class:`text-grey-8 text-caption q-mt-xs`},` Start a workspace to see agent output here `,-1)])):_(``,!0),ce.value?(s(),h(`div`,fn,[f(ie,{size:`24px`,color:`grey-6`})])):_(``,!0),(s(!0),h(g,null,c(he.value,e=>(s(),h(`div`,{key:e.id,"data-item-id":e.id,class:a([`af-item text-caption rounded-borders`,be(e)])},[e.type===`tool_use`&&A(e)?(s(),h(g,{key:0},[u(`div`,mn,[f(y,{name:`help_outline`,size:`14px`,color:`indigo-4`}),t[2]||=u(`span`,{class:`af-tool-label text-indigo-4`},`Question`,-1),f(ae),u(`span`,hn,i(D(e.timestamp)),1)]),(s(!0),h(g,null,c(A(e),(t,n)=>(s(),h(`div`,{key:n,class:`q-mt-sm`},[t.question?(s(),h(`div`,gn,i(t.question),1)):_(``,!0),u(`div`,_n,[(s(!0),h(g,null,c(t.options,(e,t)=>(s(),h(`div`,{key:t,class:`af-ask-option-item text-caption text-grey-5`},[u(`span`,vn,i(t+1)+`. `+i(e.label),1),e.description?(s(),h(`span`,yn,` — `+i(e.description),1)):_(``,!0)]))),128))]),e.id===pe.value?(s(),h(`div`,bn,[(s(!0),h(g,null,c(t.options,(e,t)=>(s(),d(ee,{key:e.label,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:n=>j(`${t+1}. ${e.label}`)},{default:o(()=>[p(i(e.label),1)]),_:2},1032,[`onClick`]))),128))])):_(``,!0)]))),128))],64)):e.type===`tool_use`?(s(),h(g,{key:1},[u(`div`,{class:a([`af-tool row items-center q-gutter-xs`,{"cursor-pointer":M(e)}]),onClick:t=>M(e)&&Ce(e.id)},[f(y,{name:ye(e.content),size:`14px`,color:`grey-6`},null,8,[`name`]),u(`span`,Sn,i(k(e)),1),Se(e)?(s(),h(`span`,Cn,`— `+i(Se(e)),1)):_(``,!0),M(e)?(s(),d(y,{key:1,name:N(e.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-7`},null,8,[`name`])):_(``,!0),f(ae),u(`span`,wn,i(D(e.timestamp)),1)],10,xn),N(e.id)?(s(),h(`div`,Tn,[u(`pre`,En,i(we(e)),1)])):_(``,!0)],64)):e.type===`text`?(s(),h(g,{key:2},[u(`div`,Dn,[u(`span`,{class:a([`text-caption text-weight-bold`,O(e)])},i(xe(e)),3),e.meta?.pending?(s(),d(ie,{key:0,size:`14px`,color:`grey-5`,class:`q-ml-sm`})):_(``,!0),f(ae),u(`span`,On,i(D(e.timestamp)),1)]),u(`div`,{class:`af-text-content af-markdown`,innerHTML:b(e.content)},null,8,kn),w(e.id,e.content)&&e.id===fe.value?(s(),h(`div`,An,[(s(!0),h(g,null,c(w(e.id,e.content).options,e=>(s(),d(ee,{key:e.key,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:t=>de(`${e.key}. ${e.label}`)},{default:o(()=>[p(i(e.label),1)]),_:2},1032,[`onClick`]))),128))])):_(``,!0)],64)):e.type===`system`?(s(),h(g,{key:3},[u(`div`,{class:a([`row items-center`,{"cursor-pointer":Te(e)}]),onClick:t=>Te(e)&&Ce(e.id)},[f(y,{name:`info`,size:`14px`,color:`amber-6`,class:`q-mr-xs`}),u(`span`,Mn,i(e.content),1),Te(e)?(s(),d(y,{key:0,name:N(e.id)?`expand_less`:`expand_more`,size:`14px`,color:`amber-8`,class:`q-ml-xs`},null,8,[`name`])):_(``,!0),f(ae),u(`span`,Nn,i(D(e.timestamp)),1)],10,jn),N(e.id)&&Te(e)?(s(),h(`div`,Pn,[u(`pre`,Fn,i(Ee(e)),1)])):_(``,!0)],64)):e.type===`error`?(s(),h(`div`,In,[f(y,{name:`error`,size:`14px`,color:`red-5`,class:`q-mr-xs`}),u(`span`,Ln,i(e.content),1),f(ae),u(`span`,Rn,i(D(e.timestamp)),1)])):(s(),h(`div`,zn,[u(`span`,Bn,i(e.content),1),f(ae),u(`span`,Vn,i(D(e.timestamp)),1)]))],10,pn))),128)),n(x).activityFeed.some(e=>e.meta?.sender===`user`)?(s(),d(ee,{key:2,round:``,dense:``,size:`sm`,icon:`person_search`,color:`indigo-8`,class:`scroll-to-user-btn`,onClick:me},{default:o(()=>[f(oe,null,{default:o(()=>[...t[3]||=[p(`Go to previous message`,-1)]]),_:1})]),_:1})):_(``,!0)],512))}}),[[`__scopeId`,`data-v-1530dd0e`]]);export{Wn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.activity-feed[data-v-1530dd0e]{flex-direction:column;gap:4px;display:flex;position:relative;overflow:hidden auto}.af-item[data-v-1530dd0e]{word-break:break-word;overflow-wrap:break-word;flex-shrink:0;padding:6px 10px;overflow-x:hidden}.af-time[data-v-1530dd0e]{color:#555;flex-shrink:0;font-size:10px}.af-tool-label[data-v-1530dd0e]{font-family:Roboto Mono,monospace;font-size:11px}.af-tool-desc[data-v-1530dd0e]{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.af-ask-option-item[data-v-1530dd0e]{padding:2px 0}.af-tool-args[data-v-1530dd0e]{background-color:#ffffff0a;padding:6px 8px;overflow-x:auto}.af-args-pre[data-v-1530dd0e]{color:#888;white-space:pre-wrap;word-break:break-word;margin:0;font-family:Roboto Mono,monospace;font-size:10px}.af-item--text[data-v-1530dd0e]{background-color:#1a2a3a;border-left:3px solid #3b82f6}.af-item--user[data-v-1530dd0e]{background-color:#1a2a1a;border-left:3px solid #22c55e}.af-item--prompt[data-v-1530dd0e]{background-color:#1a1a2e;border-left:3px solid #6c63ff}.af-text-content[data-v-1530dd0e]{color:#d0d0d0;word-break:break-word;line-height:1.5}.af-markdown[data-v-1530dd0e] p{margin:0 0 8px}.af-markdown[data-v-1530dd0e] p:last-child{margin-bottom:0}.af-markdown[data-v-1530dd0e] h1,.af-markdown[data-v-1530dd0e] h2,.af-markdown[data-v-1530dd0e] h3{color:#e0e0e0;margin:12px 0 6px}.af-markdown[data-v-1530dd0e] h1{font-size:16px}.af-markdown[data-v-1530dd0e] h2{font-size:14px}.af-markdown[data-v-1530dd0e] h3{font-size:13px}.af-markdown[data-v-1530dd0e] ul,.af-markdown[data-v-1530dd0e] ol{margin:4px 0;padding-left:20px}.af-markdown[data-v-1530dd0e] li{margin:2px 0}.af-markdown[data-v-1530dd0e] code{background-color:#ffffff14;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.af-markdown[data-v-1530dd0e] pre{background-color:#0000004d;border-radius:4px;margin:6px 0;padding:8px;overflow-x:auto}.af-markdown[data-v-1530dd0e] pre code{background:0 0;padding:0}.af-markdown[data-v-1530dd0e] strong{color:#fff}.af-markdown[data-v-1530dd0e] a{color:#6c63ff}.af-markdown[data-v-1530dd0e] blockquote{color:#aaa;border-left:3px solid #6c63ff;margin:6px 0;padding:4px 12px}.af-markdown[data-v-1530dd0e] table{border-collapse:collapse;margin:6px 0;font-size:11px}.af-markdown[data-v-1530dd0e] table th,.af-markdown[data-v-1530dd0e] table td{border:1px solid #2a2a4a;padding:4px 8px}.af-markdown[data-v-1530dd0e] table th{background-color:#ffffff0d}.af-item--system[data-v-1530dd0e]{background-color:#2a2a1a;border-left:3px solid #f59e0b}.af-system-details[data-v-1530dd0e]{background-color:#ffffff0a;padding:6px 8px;overflow-x:auto}.af-system-content[data-v-1530dd0e]{white-space:pre-wrap}.af-item--error[data-v-1530dd0e]{background-color:#2a1a1a;border-left:3px solid #ef4444}.af-item--raw[data-v-1530dd0e]{white-space:pre-wrap;font-family:Roboto Mono,monospace}.scroll-to-user-btn[data-v-1530dd0e]{opacity:.7;align-self:flex-end;margin-right:8px;transition:opacity .15s;position:sticky;bottom:8px}.scroll-to-user-btn[data-v-1530dd0e]:hover{opacity:1}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{D as e,Gt as t,It as n,Jt as r,Lt as i,Mt as a,Pt as o,St as ee,Vt as s,at as c,dt as l,et as te,ft as u,gt as d,ht as f,it as p,kt as ne,mt as m,ot as h,pt as g,r as _,ut as v,vt as re,y}from"./nodes-CXdiSdC2.js";import{i as ie,o as ae,r as oe}from"./index-BoQWbZtE.js";import{A as b,t as x}from"./_plugin-vue_export-helper-B6FaNy4R.js";import{_ as S,o as C}from"./QDialog-Cd_4PvgW.js";import{t as se}from"./use-quasar-CtCe3LQU.js";import{a as w,i as T,n as E,r as D,t as ce}from"./QPage-lhV4XbI2.js";import{t as le}from"./QExpansionItem-pMQDDRMv.js";var ue={class:`create-inner`},de={class:`create-card rounded-borders`},fe={class:`card-top-bar row items-center q-px-md q-py-xs`},pe={class:`model-badge cursor-default row items-center q-gutter-xs`},me={key:0,class:`notion-url-wrap`},he={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},ge={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},_e={class:`card-name-wrap`},ve={class:`card-textarea-wrap`},ye={class:`q-pa-sm manual-section-body`},be={class:`row items-center q-gutter-sm q-mb-sm`},xe={class:`col text-caption text-grey-4`},Se={class:`q-pa-sm manual-section-body`},Ce={class:`row items-center q-gutter-sm q-mb-sm`},we={class:`col text-caption text-grey-4`},Te={class:`card-bottom-bar row items-center wrap q-px-sm q-py-xs q-gutter-xs`},Ee={class:`bottom-select-label row items-center no-wrap`},De={class:`bottom-select-label row items-center no-wrap`},Oe={class:`bottom-select-label row items-center no-wrap`},ke={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},O=x(re({__name:`CreatePage`,setup(re){let x=oe(),O=se(),k=ae(),A=e(),j=s([]),M=s(``),N=s(``),P=s(``),F=s(!1),I=s(`auto`),L=s(``),R=s(null),z=s([]),B=s(!1),V=s(!1),H=[{label:`Auto`,value:`auto`,description:`Claude picks the optimal model`},{label:`Opus 4.6`,value:`claude-opus-4-6`,description:`Most powerful`},{label:`Sonnet 4.6`,value:`claude-sonnet-4-6`,description:`Balanced`},{label:`Haiku 4.5`,value:`claude-haiku-4-5-20251001`,description:`Fastest`}],U=v(()=>P.value.trim().startsWith(`https://www.notion.so/`)),W=s([]),G=s([]),K=s(``),q=s(``),J=v(()=>!F.value||!U.value);function Y(){let e=K.value.trim();e&&(W.value.push(e),K.value=``)}function Ae(e){W.value.splice(e,1)}function X(){let e=q.value.trim();e&&(G.value.push(e),q.value=``)}function je(e){G.value.splice(e,1)}function Me(){F.value=!F.value,F.value||(P.value=``)}async function Ne(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 Pe(e){let t=A.getProjectByPath(e);t&&(t.defaultSourceBranch&&(R.value=t.defaultSourceBranch),t.defaultModel?I.value=t.defaultModel:A.global.defaultModel&&(I.value=A.global.defaultModel))}let Z=null;n(L,e=>{Z&&clearTimeout(Z),Z=setTimeout(()=>{R.value=null,Ne(e),Pe(e)},500)});function Fe(e,t){t(()=>{j.value=A.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ne(()=>{A.fetchSettings()});function Ie(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 Le(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 Re(){return F.value&&!U.value?`Please paste a valid Notion URL (https://www.notion.so/...).`:!F.value&&!N.value.trim()?`Please describe the task.`:!F.value&&(!Q()||Q()===`workspace`)&&!M.value.trim()&&!N.value.trim()?`Please provide a workspace name.`:L.value.trim()?R.value?null:`Please select a branch.`:`Please enter the project path.`}async function $(){let e=Re();if(e){O.notify({type:`negative`,message:e,position:`top`});return}V.value=!0;try{let e=Q(),t;t=e===`workspace`?F.value&&U.value?Le(P.value.trim()):`task-${Date.now()}`:Ie(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 k.createWorkspace(r);ie().subscribe(i.id),k.selectWorkspace(i.id),x.push({name:`workspace`,params:{id:i.id}})}catch{O.notify({type:`negative`,message:`Error creating workspace.`,position:`top`})}finally{V.value=!1}}return(e,n)=>(a(),u(ce,{class:`create-page flex flex-center column`},{default:i(()=>[l(`div`,ue,[n[12]||=l(`div`,{class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},` What would you like to work on? `,-1),l(`div`,de,[l(`div`,fe,[l(`span`,pe,[d(y,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),n[9]||=l(`span`,{class:`text-indigo-3 text-weight-medium text-caption`},`Claude Code`,-1)]),d(b),d(_,{flat:``,dense:``,"no-caps":``,size:`sm`,color:F.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,onClick:Me},{default:i(()=>[d(y,{name:`description`,size:`14px`,class:`q-mr-xs`}),f(` `+r(F.value?`Notion enabled`:`Import from Notion`),1)]),_:1},8,[`color`])]),d(S,{color:`grey-9`}),d(te,{name:`slide`},{default:i(()=>[F.value?(a(),m(`div`,me,[d(C,{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,borderless:``,dense:``,placeholder:`https://www.notion.so/workspace/Page-title-abc123...`,class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:i(()=>[d(y,{name:`link`,size:`16px`,color:U.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`]),P.value.trim()&&!U.value?(a(),m(`div`,he,` URL must start with https://www.notion.so/ `)):g(``,!0),U.value?(a(),m(`div`,ge,` Subtasks and acceptance criteria will be extracted automatically. `)):g(``,!0)])):g(``,!0)]),_:1}),F.value?(a(),u(S,{key:0,color:`grey-9`})):g(``,!0),l(`div`,_e,[d(C,{modelValue:M.value,"onUpdate:modelValue":n[1]||=e=>M.value=e,borderless:``,dense:``,placeholder:F.value&&U.value?`Workspace name (defaults to Notion page title)`:`Workspace name...`,class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),d(S,{color:`grey-9`}),l(`div`,ve,[d(C,{modelValue:N.value,"onUpdate:modelValue":n[2]||=e=>N.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:F.value?`Additional instructions (optional)...`:`Describe the task...`,class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[p(c($,[`ctrl`]),[`enter`]),p(c($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),d(S,{color:`grey-9`}),J.value?(a(),m(h,{key:1},[n[10]||=l(`div`,{class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},` No Notion ticket? Add your tasks and acceptance criteria manually — they'll be sent to the Claude agent as context. `,-1),d(le,{dark:``,dense:``,label:`Tasks (${W.value.length})`,"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:i(()=>[l(`div`,ye,[l(`div`,be,[d(C,{modelValue:K.value,"onUpdate:modelValue":n[3]||=e=>K.value=e,dark:``,dense:``,borderless:``,placeholder:`Add a task...`,class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:p(c(Y,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),d(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!K.value.trim(),onClick:Y},null,8,[`disable`])]),(a(!0),m(h,null,o(W.value,(e,t)=>(a(),m(`div`,{key:`task-${t}`,class:`row items-center q-py-xs manual-item`},[l(`span`,xe,r(e),1),d(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Ae(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),d(le,{dark:``,dense:``,label:`Acceptance Criteria (${G.value.length})`,"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:i(()=>[l(`div`,Se,[l(`div`,Ce,[d(C,{modelValue:q.value,"onUpdate:modelValue":n[4]||=e=>q.value=e,dark:``,dense:``,borderless:``,placeholder:`Add a criterion...`,class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:p(c(X,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),d(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!q.value.trim(),onClick:X},null,8,[`disable`])]),(a(!0),m(h,null,o(G.value,(e,t)=>(a(),m(`div`,{key:`crit-${t}`,class:`row items-center q-py-xs manual-item`},[l(`span`,we,r(e),1),d(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>je(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),d(S,{color:`grey-9`})],64)):g(``,!0),l(`div`,Te,[d(E,{modelValue:I.value,"onUpdate:modelValue":n[5]||=e=>I.value=e,options:H,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:i(()=>[l(`span`,Ee,[f(r(H.find(e=>e.value===I.value)?.label??I.value)+` `,1),d(y,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:i(({opt:e,itemProps:t})=>[d(w,ee(t,{class:`model-option`}),{default:i(()=>[d(T,null,{default:i(()=>[d(D,{class:`text-white`},{default:i(()=>[f(r(e.label),1)]),_:2},1024),d(D,{caption:``,class:`text-grey-5`},{default:i(()=>[f(r(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`]),d(b),d(E,{modelValue:L.value,"onUpdate:modelValue":n[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:t(A).projectPaths.length>0?`menu`:`dialog`,onFilter:Fe,onInputValue:n[7]||=e=>{L.value=e}},{prepend:i(()=>[d(y,{name:`attach_file`,size:`12px`,color:`grey-5`})]),selected:i(()=>[l(`span`,De,r(L.value||`/path/to/project`),1)]),"no-option":i(()=>[d(w,null,{default:i(()=>[d(T,{class:`text-grey-6 text-caption`},{default:i(()=>[...n[11]||=[f(` Enter the project path `,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`behavior`]),d(E,{modelValue:R.value,"onUpdate:modelValue":n[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:i(()=>[l(`span`,Oe,[d(y,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),f(` `+r(R.value??`Branch`)+` `,1),d(y,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":i(()=>[d(w,null,{default:i(()=>[d(T,{class:`text-grey-6 text-caption`},{default:i(()=>[f(r(L.value.trim()?`No branches found`:`Enter a project path`),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`]),d(_,{label:`Create`,"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:V.value,onClick:$},null,8,[`loading`])])]),l(`div`,ke,r(F.value?`Subtasks and acceptance criteria will be extracted from the Notion page.`:`Click "Import from Notion" to automatically extract subtasks from a ticket.`),1)])]),_:1}))}}),[[`__scopeId`,`data-v-7d9d29f5`]]);export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.acceptance-item[data-v-b9e5e638]{padding:2px 0}.acceptance-item[data-v-b9e5e638]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-b9e5e638]{opacity:1}.criterion-delete-btn[data-v-b9e5e638]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-b9e5e638]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-b9e5e638]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-b9e5e638] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-b9e5e638] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-b9e5e638] input::placeholder{color:#555}.criterion-add-row[data-v-b9e5e638],.todo-item[data-v-b9e98fd5]{padding:2px 0}.todo-title[data-v-b9e98fd5]{word-break:break-word;line-height:1.4}.text-strike[data-v-b9e98fd5]{opacity:.7;text-decoration:line-through}.log-content[data-v-c1509b16]{max-height:60vh;overflow-y:auto}.log-text[data-v-c1509b16]{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-8c173889]{min-height:48px}.git-btn[data-v-31bad821]{padding:2px 10px;font-size:11px}.notion-link[data-v-5f29da43]{text-decoration:none;display:inline-flex}.notion-link[data-v-5f29da43]:hover{text-decoration:underline}.task-item[data-v-5f29da43]{padding:2px 0}.task-item[data-v-5f29da43]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-5f29da43]{opacity:1}.task-delete-btn[data-v-5f29da43]{opacity:0;transition:opacity .15s}.task-title[data-v-5f29da43]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-5f29da43]{opacity:.7;text-decoration:line-through}.task-input[data-v-5f29da43] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-5f29da43] input{color:#e0e0e0;font-size:12px}.task-input[data-v-5f29da43] input::placeholder{color:#555}.task-add-row[data-v-5f29da43]{padding:2px 0}.subagents-panel[data-v-b76be59d]{overflow-y:auto}.subagent-item[data-v-b76be59d]{background:#1e1e3a;border:1px solid #2a2a4a}.workspace-list[data-v-0a589390]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-0a589390]{background-color:#224;padding:0 8px}.wl-search[data-v-0a589390] .q-field__control{height:32px}.wl-search[data-v-0a589390] input{color:#ccc;font-size:12px}.wl-group-header[data-v-0a589390]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-0a589390]{margin-top:6px}.wl-project-label[data-v-0a589390]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-0a589390]{background-color:#224;margin-bottom:4px;transition:background-color .15s;position:relative}.wl-item[data-v-0a589390]:last-child{margin-bottom:0}.wl-item[data-v-0a589390]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-0a589390]{background-color:#2a2a4a;outline:1px solid #6c63ff66}.wl-item-action[data-v-0a589390]{opacity:0;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.wl-item-delete[data-v-0a589390]{right:4px}.wl-item-archive[data-v-0a589390],.wl-item-unarchive[data-v-0a589390]{right:28px}.wl-item:hover .wl-item-action[data-v-0a589390]{opacity:1}.wl-item--archived[data-v-0a589390]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-0a589390]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-0a589390]{opacity:1}.dd-dot[data-v-0a589390]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-0a589390]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.left-sidebar[data-v-c56c204b],.right-sidebar[data-v-c56c204b]{background-color:#16162a!important;border-color:#2a2a4a!important;overflow-x:hidden!important}[data-v-c56c204b] .q-drawer__content{overflow-x:hidden!important}.drawer-content[data-v-c56c204b]{overflow-y:auto}.drawer-header[data-v-c56c204b]{min-height:48px}.letter-spacing-wide[data-v-c56c204b]{letter-spacing:.05em}.right-tabs[data-v-c56c204b]{background-color:#16162a;flex-shrink:0}.right-tab-panels[data-v-c56c204b]{overflow-y:auto;background:0 0!important}[data-v-c56c204b] .q-tab-panel{padding:0}.main-content[data-v-c56c204b]{background-color:#1a1a2e}.resize-handle[data-v-c56c204b]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-c56c204b]:hover,.resize-handle[data-v-c56c204b]:active{background-color:#6c63ff80}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{At as e,B as t,Bt as n,C as r,Ct as i,D as a,E as o,Et as s,Ft as c,G as l,Gt as u,H as d,I as f,It as p,J as m,Jt as h,K as g,Kt as _,L as v,Lt as y,Mt as b,Nt as x,Pt as S,Q as C,Rt as w,T,U as E,V as D,Vt as O,W as ee,Z as k,at as A,b as te,bt as j,d as M,dt as N,ft as P,gt as F,ht as I,it as L,kt as ne,mt as R,ot as z,pt as B,q as V,qt as H,r as U,rt as re,u as ie,ut as W,vt as G,x as ae,xt as oe,y as K,yt as q,z as se}from"./nodes-CXdiSdC2.js";import{a as ce,c as le,f as ue,i as de,o as J,p as fe,r as Y,u as pe}from"./index-BoQWbZtE.js";import{A as X,C as me,S as he,c as ge,d as _e,k as ve,l as ye,m as be,p as Z,t as Q,u as xe,w as Se}from"./_plugin-vue_export-helper-B6FaNy4R.js";import{t as $}from"./QTooltip-6GSFtFKP.js";import{C as Ce,S as we,T as Te,_ as Ee,b as De,o as Oe,t as ke,w as Ae}from"./QDialog-Cd_4PvgW.js";import{a as je,c as Me,i as Ne,l as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze,u as Be}from"./use-checkbox-Z9pfihkw.js";import{t as Ve}from"./QBadge-DbE3eSf1.js";import{t as He}from"./use-quasar-CtCe3LQU.js";function Ue(e,t,n){let r=d(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 We=0,Ge=m({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&k.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?g(e):(n.stop===!0&&l(e),n.prevent===!0&&E(e))}let i={uid:`qvtp_`+ We++,handler:t,modifiers:n,direction:Pe(n),noop:D,mouseStart(e){Be(e,i)&&se(e)&&(f(i,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),i.start(e,!0))},touchStart(e){if(Be(e,i)){let t=e.target;f(i,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),i.start(e)}},start(t,r){if(k.is.firefox===!0&&ee(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&&E(e),t.cancelBubble===!0&&l(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}}l(t)}let{left:a,top:o}=d(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=d(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`),ve(),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}=Ue(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(v(i,`temp`),k.is.firefox===!0&&ee(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(Ue(t===void 0?i.lastEvt:t,i).payload);let{payload:e}=Ue(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&&f(i,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),k.has.touch===!0&&f(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=Pe(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),v(t,`main`),v(t,`temp`),k.is.firefox===!0&&ee(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}}),Ke=150,qe=V({name:`QDrawer`,inheritAttrs:!1,props:{...Se,...Ce,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:[...me,`onLayout`,`miniState`],setup(e,{slots:t,emit:n,attrs:a}){let o=q(),{proxy:{$q:c}}=o,l=we(e,c),{preventBodyScroll:u}=Ae(),{registerTimeout:d,removeTimeout:f}=be(),m=oe(ue,pe);if(m===pe)return console.error(`QDrawer needs to be child of QLayout`),pe;let h,g=null,_,v=O(e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint),y=W(()=>e.mini===!0&&v.value!==!0),b=W(()=>y.value===!0?e.miniWidth:e.width),x=O(e.showIfAbove===!0&&v.value===!1?!0:e.modelValue===!0),S=W(()=>e.persistent!==!0&&(v.value===!0||H.value===!0));function C(e,t){if(ee(),e!==!1&&m.animate(),Y(0),v.value===!0){let e=m.instances[R.value];e?.belowBreakpoint===!0&&e.hide(!1),X(1),m.isContainer.value!==!0&&u(!0)}else X(0),e!==!1&&me(!1);d(()=>{e!==!1&&me(!0),t!==!0&&n(`show`,e)},Ke)}function T(e,t){k(),e!==!1&&m.animate(),X(0),Y(N.value*b.value),ye(),t===!0?f():d(()=>{n(`hide`,e)},Ke)}let{show:E,hide:D}=he({showing:x,hideOnRouteChange:S,handleShow:C,handleHide:T}),{addToHistory:ee,removeFromHistory:k}=Te(x,D,S),A={belowBreakpoint:v,hide:D},M=W(()=>e.side===`right`),N=W(()=>(c.lang.rtl===!0?-1:1)*(M.value===!0?1:-1)),P=O(0),F=O(!1),I=O(!1),L=O(b.value*N.value),R=W(()=>M.value===!0?`left`:`right`),z=W(()=>x.value===!0&&v.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:b.value:0),B=W(()=>e.overlay===!0||e.miniToOverlay===!0||m.view.value.indexOf(M.value?`R`:`L`)!==-1||c.platform.is.ios===!0&&m.isContainer.value===!0),V=W(()=>e.overlay===!1&&x.value===!0&&v.value===!1),H=W(()=>e.overlay===!0&&x.value===!0&&v.value===!1),U=W(()=>`fullscreen q-drawer__backdrop`+(x.value===!1&&F.value===!1?` hidden`:``)),re=W(()=>({backgroundColor:`rgba(0,0,0,${P.value*.4})`})),ie=W(()=>M.value===!0?m.rows.value.top[2]===`r`:m.rows.value.top[0]===`l`),G=W(()=>M.value===!0?m.rows.value.bottom[2]===`r`:m.rows.value.bottom[0]===`l`),ae=W(()=>{let e={};return m.header.space===!0&&ie.value===!1&&(B.value===!0?e.top=`${m.header.offset}px`:m.header.space===!0&&(e.top=`${m.header.size}px`)),m.footer.space===!0&&G.value===!1&&(B.value===!0?e.bottom=`${m.footer.offset}px`:m.footer.space===!0&&(e.bottom=`${m.footer.size}px`)),e}),K=W(()=>{let e={width:`${b.value}px`,transform:`translateX(${L.value}px)`};return v.value===!0?e:Object.assign(e,ae.value)}),se=W(()=>`q-drawer__content fit `+(m.isContainer.value===!0?`overflow-auto`:`scroll`)),ce=W(()=>`q-drawer q-drawer--${e.side}`+(I.value===!0?` q-drawer--mini-animate`:``)+(e.bordered===!0?` q-drawer--bordered`:``)+(l.value===!0?` q-drawer--dark q-dark`:``)+(F.value===!0?` no-transition`:x.value===!0?``:` q-layout--prevent-focus`)+(v.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${y.value===!0?`mini`:`standard`}`+(B.value===!0||V.value!==!0?` fixed`:``)+(e.overlay===!0||e.miniToOverlay===!0?` q-drawer--on-top`:``)+(ie.value===!0?` q-drawer--top-padding`:``))),le=W(()=>[[Ge,_e,void 0,{[c.lang.rtl===!0?e.side:R.value]:!0,mouse:!0}]]),de=W(()=>[[Ge,ve,void 0,{[c.lang.rtl===!0?R.value:e.side]:!0,mouse:!0}]]),J=W(()=>[[Ge,ve,void 0,{[c.lang.rtl===!0?R.value:e.side]:!0,mouse:!0,mouseAllDir:!0}]]);function fe(){Q(v,e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint)}p(v,t=>{t===!0?(h=x.value,x.value===!0&&D(!1)):e.overlay===!1&&e.behavior!==`mobile`&&h!==!1&&(x.value===!0?(Y(0),X(0),ye()):E(!1))}),p(()=>e.side,(e,t)=>{m.instances[t]===A&&(m.instances[t]=void 0,m[t].space=!1,m[t].offset=0),m.instances[e]=A,m[e].size=b.value,m[e].space=V.value,m[e].offset=z.value}),p(m.totalWidth,()=>{(m.isContainer.value===!0||document.qScrollPrevented!==!0)&&fe()}),p(()=>e.behavior+e.breakpoint,fe),p(m.isContainer,e=>{x.value===!0&&u(e!==!0),e===!0&&fe()}),p(m.scrollbarWidth,()=>{Y(x.value===!0?0:void 0)}),p(z,e=>{Z(`offset`,e)}),p(V,e=>{n(`onLayout`,e),Z(`space`,e)}),p(M,()=>{Y()}),p(b,t=>{Y(),xe(e.miniToOverlay,t)}),p(()=>e.miniToOverlay,e=>{xe(e,b.value)}),p(()=>c.lang.rtl,()=>{Y()}),p(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(ge(),m.animate())}),p(y,e=>{n(`miniState`,e)});function Y(e){e===void 0?i(()=>{e=x.value===!0?0:b.value,Y(N.value*e)}):(m.isContainer.value===!0&&M.value===!0&&(v.value===!0||Math.abs(e)===b.value)&&(e+=N.value*m.scrollbarWidth.value),L.value=e)}function X(e){P.value=e}function me(e){let t=e===!0?`remove`:m.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function ge(){g!==null&&clearTimeout(g),o.proxy&&o.proxy.$el&&o.proxy.$el.classList.add(`q-drawer--mini-animate`),I.value=!0,g=setTimeout(()=>{g=null,I.value=!1,o?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function _e(e){if(x.value!==!1)return;let t=b.value,n=De(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?E():(m.animate(),X(0),Y(N.value*t)),F.value=!1;return}Y((c.lang.rtl===!0?M.value!==!0:M.value)?Math.max(t-n,0):Math.min(0,n-t)),X(De(n/t,0,1)),e.isFirst===!0&&(F.value=!0)}function ve(t){if(x.value!==!0)return;let n=b.value,r=t.direction===e.side,i=(c.lang.rtl===!0?r!==!0:r)?De(t.distance.x,0,n):0;if(t.isFinal===!0){Math.abs(i)<Math.min(75,n)?(m.animate(),X(1),Y(0)):D(),F.value=!1;return}Y(N.value*i),X(De(1-i/n,0,1)),t.isFirst===!0&&(F.value=!0)}function ye(){u(!1),me(!0)}function Z(t,n){m.update(e.side,t,n)}function Q(e,t){e.value!==t&&(e.value=t)}function xe(t,n){Z(`size`,t===!0?e.miniWidth:n)}return m.instances[e.side]=A,xe(e.miniToOverlay,b.value),Z(`space`,V.value),Z(`offset`,z.value),e.showIfAbove===!0&&e.modelValue!==!0&&x.value===!0&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,!0),ne(()=>{n(`onLayout`,V.value),n(`miniState`,y.value),h=e.showIfAbove===!0;let t=()=>{(x.value===!0?C:T)(!1,!0)};if(m.totalWidth.value!==0){i(t);return}_=p(m.totalWidth,()=>{_(),_=void 0,x.value===!1&&e.showIfAbove===!0&&v.value===!1?E(!1):t()})}),s(()=>{_?.(),g!==null&&(clearTimeout(g),g=null),x.value===!0&&ye(),m.instances[e.side]===A&&(m.instances[e.side]=void 0,Z(`size`,0),Z(`offset`,0),Z(`space`,!1))}),()=>{let n=[];v.value===!0&&(e.noSwipeOpen===!1&&n.push(w(j(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),le.value)),n.push(te(`div`,{ref:`backdrop`,class:U.value,style:re.value,"aria-hidden":`true`,onClick:D},void 0,`backdrop`,e.noSwipeBackdrop!==!0&&x.value===!0,()=>J.value)));let i=y.value===!0&&t.mini!==void 0,o=[j(`div`,{...a,key:String(i),class:[se.value,a.class]},i===!0?t.mini():r(t.default))];return e.elevated===!0&&x.value===!0&&o.push(j(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(te(`aside`,{ref:`content`,class:ce.value,style:K.value},o,`contentclose`,e.noSwipeClose!==!0&&v.value===!0,()=>de.value)),j(`div`,{class:`q-drawer-container`},n)}}}),Je=V({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=q(),i=oe(ue,pe);if(i===pe)return console.error(`QPageContainer needs to be child of QLayout`),pe;x(fe,!0);let a=W(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>j(`div`,{class:`q-page-container`,style:a.value},r(t.default))}}),{passive:Ye}=t,Xe=[`both`,`horizontal`,`vertical`],Ze=V({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>Xe.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:Z},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;p(()=>e.scrollTarget,()=>{l(),c()});function o(){r?.();let a=Math.max(0,_e(i)),o=ge(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=ye(a,e.scrollTarget),i.addEventListener(`scroll`,u,Ye),u(!0)}function l(){i!==void 0&&(i.removeEventListener(`scroll`,u,Ye),i=void 0)}function u(t){if(t===!0||e.debounce===0||e.debounce===`0`)o();else if(r===null){let[t,n]=e.debounce?[setTimeout(o,e.debounce),clearTimeout]:[requestAnimationFrame(o),cancelAnimationFrame];r=()=>{n(t),r=null}}}let{proxy:d}=q();return p(()=>d.$q.lang.rtl,o),ne(()=>{a=d.$el.parentNode,c()}),s(()=>{r?.(),l()}),Object.assign(d,{trigger:u,getPosition:()=>n}),D}}),Qe=V({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(t,{slots:r,emit:i}){let{proxy:{$q:a}}=q(),o=O(null),s=O(a.screen.height),c=O(t.container===!0?0:a.screen.width),l=O({position:0,direction:`down`,inflectionPoint:0}),u=O(0),d=O(C.value===!0?0:xe()),f=W(()=>`q-layout q-layout--`+(t.container===!0?`containerized`:`standard`)),m=W(()=>t.container===!1?{minHeight:a.screen.height+`px`}:null),h=W(()=>d.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${d.value}px`}),g=W(()=>d.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`});function _(e){if(t.container===!0||document.qScrollPrevented!==!0){let n={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};l.value=n,t.onScroll!==void 0&&i(`scroll`,n)}}function v(e){let{height:n,width:r}=e,a=!1;s.value!==n&&(a=!0,s.value=n,t.onScrollHeight!==void 0&&i(`scrollHeight`,n),b()),c.value!==r&&(a=!0,c.value=r),a===!0&&t.onResize!==void 0&&i(`resize`,e)}function y({height:e}){u.value!==e&&(u.value=e,b())}function b(){if(t.container===!0){let e=s.value>u.value?xe():0;d.value!==e&&(d.value=e)}}let S=null,w={instances:{},view:W(()=>t.view),isContainer:W(()=>t.container),rootRef:o,height:s,containerHeight:u,scrollbarWidth:d,totalWidth:W(()=>c.value+d.value),rows:W(()=>{let e=t.view.toLowerCase().split(` `);return{top:e[0].split(``),middle:e[1].split(``),bottom:e[2].split(``)}}),header:n({size:0,offset:0,space:!1}),right:n({size:300,offset:0,space:!1}),footer:n({size:0,offset:0,space:!1}),left:n({size:300,offset:0,space:!1}),scroll:l,animate(){S===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(S),S=setTimeout(()=>{S=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){w[e][t]=n}};if(x(ue,w),xe()>0){let n=null,r=document.body;function i(){n=null,r.classList.remove(`hide-scrollbar`)}function o(){if(n===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(n);n=setTimeout(i,300)}function s(e){n!==null&&e===`remove`&&(clearTimeout(n),i()),window[`${e}EventListener`](`resize`,o)}p(()=>t.container===!0?`remove`:`add`,s),t.container!==!0&&s(`add`),e(()=>{s(`remove`)})}return()=>{let e=ae(r.default,[j(Ze,{onScroll:_}),j(Re,{onResize:v})]),n=j(`div`,{class:f.value,style:m.value,ref:t.container===!0?void 0:o,tabindex:-1},e);return t.container===!0?j(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[j(Re,{onResize:y}),j(`div`,{class:`absolute-full`,style:h.value},[j(`div`,{class:`scroll`,style:g.value},[n])])]):n}}}),$e={class:`acceptance-panel q-pa-md`},et={class:`row items-center q-mb-sm`},tt={key:0,class:`criterion-add-row row items-center q-mb-xs`},nt={key:1,class:`acceptance-list`},rt=[`onDblclick`],it={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},at=Q(G({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let t=J(),n=O(!1),r=O(``),a=O(null),o=O(``),s=O({});function c(e,t){if(t){let n=t.$el??t;s.value[e]=n}else delete s.value[e]}function l(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function d(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function f(e){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}`);t.selectedWorkspaceId&&t.fetchWorkspaceDetails(t.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function p(){n.value=!0,r.value=``}async function m(){let e=r.value.trim(),i=t.selectedWorkspace?.id;if(!(!e||!i))try{await t.createTask(i,e,!0),r.value=``,n.value=!1}catch{}}function g(){r.value=``,n.value=!1}function v(e){a.value=e.id,o.value=e.title,i(()=>{let t=s.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function y(e){if(a.value!==e.id)return;let n=o.value.trim(),r=e.id;if(a.value=null,!n||n===e.title)return;let i=t.selectedWorkspace?.id;if(i)try{await t.updateTaskTitle(i,r,n)}catch{}}function x(){a.value=null,o.value=``}async function C(e){let n=t.selectedWorkspace?.id;if(n)try{await t.deleteTask(n,e.id)}catch{}}return(i,s)=>(b(),R(`div`,$e,[N(`div`,et,[s[2]||=N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Acceptance Criteria `,-1),F(X),u(t).selectedWorkspace?(b(),P(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add criterion`,onClick:p})):B(``,!0)]),n.value?(b(),R(`div`,tt,[F(Oe,{modelValue:r.value,"onUpdate:modelValue":s[0]||=e=>r.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New criterion... (Enter to add, Esc to cancel)`,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[L(A(m,[`prevent`]),[`enter`]),L(A(g,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):B(``,!0),e.tasks.length>0?(b(),R(`div`,nt,[(b(!0),R(z,null,S(e.tasks,e=>(b(),R(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[F(K,{name:l(e.status),size:`16px`,style:H({color:d(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>f(e)},null,8,[`name`,`style`,`onClick`]),a.value===e.id?(b(),P(Oe,{key:0,ref_for:!0,ref:t=>c(e.id,t),modelValue:o.value,"onUpdate:modelValue":s[1]||=e=>o.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[L(A(t=>y(e),[`prevent`]),[`enter`]),L(A(x,[`prevent`]),[`esc`])],onBlur:t=>y(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(b(),R(z,{key:1},[N(`span`,{class:_([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:H({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>v(e)},h(e.title),47,rt),F(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>C(e)},null,8,[`onClick`])],64))]))),128))])):n.value?B(``,!0):(b(),R(`div`,it,` No acceptance criteria `))]))}}),[[`__scopeId`,`data-v-b9e5e638`]]),ot={class:`agent-todos-panel q-pa-md`},st={key:0,class:`todos-list`},ct={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},lt=Q(G({__name:`AgentTodosPanel`,setup(e){let t=J();function n(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function r(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,i)=>(b(),R(`div`,ot,[i[0]||=N(`div`,{class:`row items-center q-mb-sm`},[N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Agent Todos `)],-1),u(t).currentAgentTodos.length>0?(b(),R(`div`,st,[(b(!0),R(z,null,S(u(t).currentAgentTodos,(e,t)=>(b(),R(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[F(K,{name:n(e.status),size:`14px`,style:H({color:r(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),N(`span`,{class:_([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:H({color:e.status===`completed`?`#4ade80`:`#ccc`})},h(e.content),7)]))),128))])):(b(),R(`div`,ct,` No agent todos `))]))}}),[[`__scopeId`,`data-v-b9e98fd5`]]),ut=V({name:`QCardSection`,props:{tag:{type:String,default:`div`},horizontal:Boolean},setup(e,{slots:t}){let n=W(()=>`q-card__section q-card__section--${e.horizontal===!0?`horiz row no-wrap`:`vert`}`);return()=>j(e.tag,{class:n.value},r(t.default))}}),dt=V({name:`QCard`,props:{...Ce,tag:{type:String,default:`div`},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:n}}=q(),i=we(e,n),a=W(()=>`q-card`+(i.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()=>j(e.tag,{class:a.value},r(t.default))}}),ft={class:`log-text rounded-borders q-pa-md`},pt=Q(G({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(t){let n=t,r=le(),a=O(``),o=O(!1),s=O(null),c=null;async function l(){if(n.workspaceId){o.value=!0;try{a.value=await r.fetchLogs(n.workspaceId),await i(),u()}finally{o.value=!1}}}function u(){s.value&&(s.value.scrollTop=s.value.scrollHeight)}function d(){f(),c=setInterval(()=>{l()},5e3)}function f(){c&&=(clearInterval(c),null)}return p(()=>n.modelValue,e=>{e?(l(),d()):f()}),e(()=>{f()}),(e,n)=>(b(),P(ke,{"model-value":t.modelValue,"onUpdate:modelValue":n[1]||=t=>e.$emit(`update:modelValue`,t)},{default:y(()=>[F(dt,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:y(()=>[F(ut,{class:`row items-center`},{default:y(()=>[n[2]||=N(`div`,{class:`text-h6`},`Logs Dev Server`,-1),F(X),F(U,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:l,loading:o.value},null,8,[`loading`]),F(U,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=t=>e.$emit(`update:modelValue`,!1)})]),_:1}),F(Ee,{dark:``}),F(ut,{class:`log-content`,ref_key:`logContainer`,ref:s},{default:y(()=>[N(`pre`,ft,h(a.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-c1509b16`]]),mt={class:`dd-panel q-px-md q-py-sm`},ht={key:0,class:`text-caption text-grey-8`},gt={key:1,class:`text-caption text-grey-8`},_t={class:`row items-center q-mb-xs`},vt={key:0,class:`text-caption q-mb-xs`},yt=[`href`],bt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},xt={key:2,class:`text-caption text-red-5`},St=Q(G({__name:`DevServerPanel`,props:{workspace:{}},setup(t){let n=t,r=le(),i=a(),o=O(!1),s=O(!1),l=O(!1),u=null,d=W(()=>n.workspace?.id??``),f=W(()=>n.workspace?!!i.getProjectByPath(n.workspace.projectPath)?.devServer?.startCommand:!1),m=W(()=>d.value?r.getStatus(d.value):null),g=W(()=>{switch(m.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),_=W(()=>{switch(m.value?.status){case`running`:return`Running`;case`starting`:return`Starting`;case`stopping`:return`Stopping`;case`error`:return`Error`;case`stopped`:return`Stopped`;default:return`Unknown`}}),v=W(()=>{let e=m.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),x=W(()=>{let e=m.value?.status;return e===`running`||e===`starting`});async function S(){if(d.value){s.value=!0;try{await r.startDevServer(d.value)}finally{s.value=!1}}}async function C(){if(d.value){l.value=!0;try{await r.stopDevServer(d.value)}finally{l.value=!1}}}function w(){d.value&&f.value&&r.fetchStatus(d.value)}function T(){E(),u=setInterval(()=>{w()},3e4)}function E(){u&&=(clearInterval(u),null)}return p(d,()=>{w(),T()}),ne(()=>{w(),T()}),e(()=>{E()}),(e,n)=>{let r=c(`router-link`);return b(),R(`div`,mt,[n[5]||=N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},` Dev Server `,-1),t.workspace?f.value?m.value?(b(),R(z,{key:2},[N(`div`,_t,[F(Ve,{color:g.value,label:_.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),F(X),v.value?(b(),P(U,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:S,loading:s.value},null,8,[`loading`])):B(``,!0),x.value?(b(),P(U,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:C,loading:l.value},null,8,[`loading`])):B(``,!0),F(U,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:n[0]||=e=>o.value=!0},{default:y(()=>[F($,null,{default:y(()=>[...n[4]||=[I(`Logs`,-1)]]),_:1})]),_:1})]),m.value.status===`running`&&m.value.url?(b(),R(`div`,vt,[N(`a`,{href:m.value.url,target:`_blank`,style:{color:`#6c63ff`}},h(m.value.url),9,yt)])):B(``,!0),m.value.containers.length>0?(b(),R(`div`,bt,h(m.value.containers.length)+` container`+h(m.value.containers.length>1?`s`:``),1)):B(``,!0),m.value.error?(b(),R(`div`,xt,h(m.value.error),1)):B(``,!0)],64)):B(``,!0):(b(),R(`div`,gt,[n[3]||=I(` Not configured — `,-1),F(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:y(()=>[...n[2]||=[I(`Settings`,-1)]]),_:1})])):(b(),R(`div`,ht,` No workspace selected `)),d.value?(b(),P(pt,{key:3,modelValue:o.value,"onUpdate:modelValue":n[1]||=e=>o.value=e,"workspace-id":d.value},null,8,[`modelValue`,`workspace-id`])):B(``,!0)])}}}),[[`__scopeId`,`data-v-8c173889`]]),Ct={class:`git-panel q-pa-md`},wt={class:`row items-center justify-between q-mb-sm`},Tt={class:`row items-center q-mb-sm`},Et={class:`text-caption text-grey-3`},Dt={class:`row items-center q-mb-sm`},Ot={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},kt={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},At={key:0},jt={key:1,style:{color:`#4ade80`}},Mt={key:2,style:{color:`#f59e0b`}},Nt={class:`row items-center q-mb-xs`},Pt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Ft={class:`row items-center q-mb-md`},It={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Lt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},Rt={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},zt={key:1,class:`q-mb-md`},Bt={class:`row q-gutter-xs`},Vt={key:1,class:`text-caption text-grey-8`},Ht=Q(G({__name:`GitPanel`,props:{workspace:{}},setup(e){let t=e,n=He(),r=J(),i=O(!1),a=O(!1),o=O(null),s=O(!1),c=W(()=>{if(!t.workspace?.projectPath)return`-`;let e=t.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function l(){if(!t.workspace){o.value=null;return}s.value=!0;try{o.value=await r.fetchGitStats(t.workspace.id)}catch{o.value=null}finally{s.value=!1}}p(()=>t.workspace?.id,()=>l(),{immediate:!0});let u=null;p(()=>r.gitRefreshTrigger,()=>{u&&clearTimeout(u),u=setTimeout(()=>l(),3e3)});async function d(){if(t.workspace){i.value=!0;try{await r.pushBranch(t.workspace.id),n.notify({type:`positive`,message:`Branch pushed`,position:`top`}),l()}catch(e){let t=e instanceof Error?e.message:`Push failed`;n.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{i.value=!1}}}function f(){o.value?.prUrl&&window.open(o.value.prUrl,`_blank`)}async function m(){if(t.workspace){a.value=!0;try{let e=await r.openPullRequest(t.workspace.id);n.notify({type:`positive`,message:`PR #${e.prNumber} created`,caption:e.prUrl,position:`top`,timeout:5e3}),l()}catch(e){if(e instanceof ce&&e.code===`branch_not_pushed`){n.notify({type:`warning`,message:`Branch is not on remote. Click Push first.`,position:`top`,timeout:6e3});return}if(e instanceof ce&&e.code===`unpushed_commits`){n.notify({type:`warning`,message:`Local commits are not pushed. Click Push first.`,position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;n.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{a.value=!1}}}return(t,n)=>(b(),R(`div`,Ct,[N(`div`,wt,[n[0]||=N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Git `,-1),e.workspace?(b(),P(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:s.value,onClick:l},null,8,[`loading`])):B(``,!0)]),e.workspace?(b(),R(z,{key:0},[N(`div`,Tt,[F(K,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),N(`span`,Et,h(c.value),1)]),N(`div`,Dt,[n[1]||=N(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),N(`span`,Ot,h(e.workspace.workingBranch),1)]),N(`div`,kt,[I(` from `+h(e.workspace.sourceBranch)+` `,1),o.value?(b(),R(z,{key:0},[n[2]||=I(` · `,-1),o.value.unpushedCount===-1?(b(),R(`span`,At,`local only`)):o.value.unpushedCount===0?(b(),R(`span`,jt,`pushed`)):(b(),R(`span`,Mt,h(o.value.unpushedCount)+` unpushed`,1))],64)):B(``,!0)]),o.value&&(o.value.commitCount>0||o.value.filesChanged>0)?(b(),R(z,{key:0},[N(`div`,Nt,[F(K,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),N(`span`,Pt,h(o.value.commitCount)+` commit`+h(o.value.commitCount===1?``:`s`),1)]),N(`div`,Ft,[F(K,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),N(`span`,It,h(o.value.filesChanged)+` file`+h(o.value.filesChanged===1?``:`s`),1),o.value.insertions>0?(b(),R(`span`,Lt,` +`+h(o.value.insertions),1)):B(``,!0),o.value.deletions>0?(b(),R(`span`,Rt,` -`+h(o.value.deletions),1)):B(``,!0)])],64)):(b(),R(`div`,zt)),N(`div`,Bt,[o.value?.prUrl?(b(),P(U,{key:0,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,label:`View PR`,icon:`open_in_new`,class:`git-btn`,onClick:f})):B(``,!0),!o.value?.prUrl||o.value.prState===`CLOSED`||o.value.prState===`MERGED`?(b(),P(U,{key:1,dense:``,"no-caps":``,size:`sm`,color:`primary`,label:`Create PR`,class:`git-btn`,loading:a.value,disable:!e.workspace||i.value,onClick:m},null,8,[`loading`,`disable`])):B(``,!0),!o.value||o.value.unpushedCount!==0?(b(),P(U,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:`Push`,class:`git-btn`,loading:i.value,disable:!e.workspace||a.value,onClick:d},null,8,[`loading`,`disable`])):B(``,!0)])],64)):(b(),R(`div`,Vt,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-31bad821`]]),Ut={xs:2,sm:4,md:6,lg:10,xl:14};function Wt(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var Gt=V({name:`QLinearProgress`,props:{...Ce,...o,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}=q(),r=we(e,n.$q),i=T(e,Ut),a=W(()=>e.indeterminate===!0||e.query===!0),o=W(()=>e.reverse!==e.query),s=W(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=W(()=>`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=W(()=>Wt(e.buffer===void 0?1:e.buffer,o.value,n.$q)),u=W(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),d=W(()=>`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=W(()=>Wt(a.value===!0?1:e.value,o.value,n.$q)),p=W(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${u.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),m=W(()=>({width:`${e.value*100}%`})),h=W(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${u.value}`);return()=>{let n=[j(`div`,{class:d.value,style:l.value}),j(`div`,{class:p.value,style:f.value})];return e.stripe===!0&&a.value===!1&&n.push(j(`div`,{class:h.value,style:m.value})),j(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ae(t.default,n))}}}),Kt={class:`notion-panel q-pa-md`},qt={class:`row items-center q-mb-sm`},Jt={key:0,class:`q-mb-sm`},Yt=[`href`],Xt={key:1,class:`text-caption q-mb-sm text-grey-8`},Zt={key:3,class:`q-mb-sm`},Qt={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},$t={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},en={key:5,class:`task-add-row row items-center q-mb-xs`},tn={key:6,class:`tasks-list`},nn=[`onDblclick`],rn={key:1,class:`text-caption text-grey-8`},an=Q(G({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(e){let t=e,n=J(),r=O(!1),a=W(()=>t.tasks.filter(e=>!e.isAcceptanceCriterion)),o=W(()=>a.value.filter(e=>e.status===`done`).length),s=W(()=>a.value.length),c=W(()=>s.value>0?o.value/s.value:0),l=O(!1),u=O(``),d=O(null),f=O(``),p=O({});function m(e,t){if(t){let n=t.$el??t;p.value[e]=n}else delete p.value[e]}async function g(){if(!(!t.workspace?.id||!t.workspace.notionUrl)){r.value=!0;try{let e=await fetch(`/api/workspaces/${t.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);n.fetchWorkspaceDetails(t.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{r.value=!1}}}function v(){l.value=!0,u.value=``}async function y(){let e=u.value.trim();if(!(!e||!t.workspace?.id))try{await n.createTask(t.workspace.id,e,!1),u.value=``,l.value=!1}catch{}}function x(){u.value=``,l.value=!1}function C(e){d.value=e.id,f.value=e.title,i(()=>{let t=p.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function w(e){if(d.value!==e.id)return;let r=f.value.trim(),i=e.id;if(d.value=null,!(!r||r===e.title)&&t.workspace?.id)try{await n.updateTaskTitle(t.workspace.id,i,r)}catch{}}function T(){d.value=null,f.value=``}async function E(e){if(t.workspace?.id)try{await n.deleteTask(t.workspace.id,e.id)}catch{}}async function D(e){if(!t.workspace?.id)return;let r=e.status===`done`?`pending`:`done`;try{let i=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:r})});if(!i.ok)throw Error(`HTTP ${i.status}`);n.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 k(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(b(),R(`div`,Kt,[N(`div`,qt,[n[2]||=N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Notion `,-1),F(X),e.workspace?(b(),P(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add task`,onClick:v})):B(``,!0)]),e.workspace?(b(),R(z,{key:0},[e.workspace.notionUrl?(b(),R(`div`,Jt,[N(`a`,{href:e.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[F(K,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),n[3]||=I(` Open in Notion `,-1)],8,Yt)])):(b(),R(`div`,Xt,` No Notion URL `)),e.workspace.notionUrl?(b(),P(U,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:`Refresh`,color:`grey-6`,class:`q-mb-sm`,loading:r.value,onClick:g},null,8,[`loading`])):B(``,!0),s.value>0?(b(),R(`div`,Zt,[F(Gt,{value:c.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),N(`div`,Qt,h(o.value)+`/`+h(s.value)+` subtasks `,1)])):l.value?B(``,!0):(b(),R(`div`,$t,` No tasks `)),l.value?(b(),R(`div`,en,[F(Oe,{modelValue:u.value,"onUpdate:modelValue":n[0]||=e=>u.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New task... (Enter to add, Esc to cancel)`,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[L(A(y,[`prevent`]),[`enter`]),L(A(x,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):B(``,!0),a.value.length>0?(b(),R(`div`,tn,[(b(!0),R(z,null,S(a.value,e=>(b(),R(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[F(K,{name:ee(e.status),size:`14px`,style:H({color:k(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>D(e)},null,8,[`name`,`style`,`onClick`]),d.value===e.id?(b(),P(Oe,{key:0,ref_for:!0,ref:t=>m(e.id,t),modelValue:f.value,"onUpdate:modelValue":n[1]||=e=>f.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[L(A(t=>w(e),[`prevent`]),[`enter`]),L(A(T,[`prevent`]),[`esc`])],onBlur:t=>w(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(b(),R(z,{key:1},[N(`span`,{class:_([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:H({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>C(e)},h(e.title),47,nn),F(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>E(e)},null,8,[`onClick`])],64))]))),128))])):B(``,!0)],64)):(b(),R(`div`,rn,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-5f29da43`]]),on={class:`subagents-panel q-pa-md`},sn={key:0,class:`text-caption text-grey-8`},cn={class:`row items-center q-mb-xs`},ln={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},un={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},dn={class:`text-grey-4`},fn={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},pn={key:0},mn={key:1},hn={key:2},gn=Q(G({__name:`SubagentsPanel`,setup(e){let t=J(),n=W(()=>t.currentSubagents);function r(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 i(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(b(),R(`div`,on,[t[1]||=N(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},` Sub-agents `,-1),n.value.length===0?(b(),R(`div`,sn,` No sub-agent activity yet `)):B(``,!0),(b(!0),R(z,null,S(n.value,e=>(b(),R(`div`,{key:e.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[N(`div`,cn,[F(K,{name:e.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:e.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),N(`span`,ln,h(e.description||e.toolUseId),1)]),e.lastToolName?(b(),R(`div`,un,[t[0]||=I(` Running: `,-1),N(`span`,dn,h(e.lastToolName),1)])):B(``,!0),N(`div`,fn,[e.toolUses===void 0?B(``,!0):(b(),R(`span`,pn,h(e.toolUses)+` tools`,1)),e.totalTokens?(b(),R(`span`,mn,`· `+h(i(e.totalTokens))+` tok`,1)):B(``,!0),e.durationMs?(b(),R(`span`,hn,`· `+h(r(e.durationMs)),1)):B(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-b76be59d`]]),_n=()=>j(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[j(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[j(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),j(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),vn=V({name:`QCheckbox`,props:Le,emits:Fe,setup(e){let t=_n();function n(n,r){let i=W(()=>(n.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[j(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[j(K,{class:`q-checkbox__icon`,name:i.value})])]}return ze(`checkbox`,n)}}),yn=V({name:`QCardActions`,props:{...M,vertical:Boolean},setup(e,{slots:t}){let n=ie(e),i=W(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?`vert column`:`horiz row`}`);return()=>j(`div`,{class:i.value},r(t.default))}}),bn={class:`workspace-list column full-height`},xn={class:`wl-header row items-center justify-between q-px-md q-py-sm`},Sn={class:`row items-center q-gutter-xs`},Cn={class:`q-px-md q-pb-sm`},wn={class:`col overflow-auto`},Tn={key:0,class:`wl-group q-mt-xs`},En={key:0,class:`wl-project-label q-px-md q-pt-xs`},Dn={class:`text-caption text-grey-7`},On=[`onClick`],kn={class:`col`,style:{"min-width":`0`}},An={class:`row items-center no-wrap q-gutter-xs`},jn={key:0,class:`dd-dot dd-dot--running`},Mn={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},Nn={class:`text-caption q-mt-xs`},Pn={class:`text-red-5`},Fn={class:`q-ml-xs text-grey-8`},In={key:1,class:`wl-group q-mt-xs`},Ln={key:0,class:`wl-project-label q-px-md q-pt-xs`},Rn={class:`text-caption text-grey-7`},zn=[`onClick`],Bn={class:`col`,style:{"min-width":`0`}},Vn={class:`row items-center no-wrap q-gutter-xs`},Hn={key:0,class:`dd-dot dd-dot--running`},Un={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},Wn={class:`text-caption q-mt-xs`},Gn={class:`text-green-4`},Kn={class:`q-ml-xs text-grey-8`},qn={key:2,class:`wl-group q-mt-xs`},Jn={key:0,class:`wl-project-label q-px-md q-pt-xs`},Yn={class:`text-caption text-grey-7`},Xn=[`onClick`],Zn={class:`col`,style:{"min-width":`0`}},Qn={class:`row items-center no-wrap q-gutter-xs`},$n={key:0,class:`dd-dot dd-dot--running`},er={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},tr={class:`wl-item-meta text-caption text-grey-8`},nr={key:3,class:`wl-group q-mt-xs`},rr={class:`col`,style:{"min-width":`0`}},ir={class:`wl-item-name text-body2 text-grey-5 ellipsis`},ar={class:`wl-item-meta text-caption text-grey-8`},or={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},sr={class:`q-px-md q-py-xs text-caption text-grey-8`},cr={class:`text-body2 q-mb-sm text-grey-6`},lr={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},ur={class:`column q-gutter-xs`},dr={key:0,class:`text-caption q-mt-sm text-red-5`},fr=Q(G({__name:`WorkspaceList`,setup(e){let t=J(),n=de(),r=le(),i=a(),o=Y(),s=O(``);function c(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 l=W(()=>t.needsAttention.filter(e=>e.name.toLowerCase().includes(s.value.toLowerCase()))),d=W(()=>t.running.filter(e=>e.name.toLowerCase().includes(s.value.toLowerCase()))),f=W(()=>t.idle.filter(e=>e.name.toLowerCase().includes(s.value.toLowerCase()))),p=W(()=>c(l.value)),m=W(()=>c(d.value)),g=W(()=>c(f.value)),v=W(()=>t.workspaces.length),x=W(()=>t.running.length),C=O(!0),T=O(!0),E=O(!0),D=O(!1);async function ee(){D.value=!D.value,D.value&&!t.archivedLoaded&&await t.fetchArchivedWorkspaces()}let k=O(!1),A=O(null),te=O(!1),j=O(!1),M=O(!1);function L(e,t){t.stopPropagation(),A.value=e,te.value=!0,j.value=!1,k.value=!0}async function V(){if(!A.value)return;let e=A.value.id;M.value=!0;try{await t.deleteWorkspace(e,{deleteLocalBranch:te.value,deleteRemoteBranch:j.value}),n.unsubscribe(e),k.value=!1,t.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{M.value=!1}}async function H(e,n){n.stopPropagation();try{await t.archiveWorkspace(e.id),t.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function ie(e,n){n.stopPropagation();try{await t.unarchiveWorkspace(e.id),i.getProjectByPath(e.projectPath)?.devServer?.startCommand&&r.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function G(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function ae(e){t.selectWorkspace(e),o.push({name:`workspace`,params:{id:e}})}function oe(){o.push({name:`create`})}function q(){o.push({name:`settings`})}return ne(async()=>{await t.fetchWorkspaces(),await t.fetchArchivedWorkspaces(),await i.fetchSettings();for(let e of t.workspaces)n.subscribe(e.id),i.getProjectByPath(e.projectPath)?.devServer?.startCommand&&r.fetchStatus(e.id)}),(e,i)=>(b(),R(z,null,[N(`div`,bn,[N(`div`,xn,[i[8]||=N(`span`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Workspaces `,-1),N(`div`,Sn,[u(n).connected?(b(),P(Ve,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(b(),P(Ve,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),F(U,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:q}),F(U,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:oe})])]),N(`div`,Cn,[F(Oe,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,dense:``,dark:``,placeholder:`Search...`,class:`wl-search rounded-borders`,borderless:``},{prepend:y(()=>[F(K,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`])]),F(Ee,{dark:``}),N(`div`,wn,[l.value.length>0?(b(),R(`div`,Tn,[N(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:i[1]||=e=>C.value=!C.value},[F(K,{name:C.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),i[9]||=N(`span`,{class:`text-caption text-weight-bold q-ml-xs text-red-5`},` Needs Attention `,-1),F(Ve,{label:l.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),w(N(`div`,null,[(b(!0),R(z,null,S(p.value,e=>(b(),R(`div`,{key:e.projectPath,class:`wl-project-group`},[p.value.length>1?(b(),R(`div`,En,[F(K,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),N(`span`,Dn,h(e.projectName),1)])):B(``,!0),(b(!0),R(z,null,S(e.workspaces,e=>(b(),R(`div`,{key:e.id,class:_([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===u(t).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:t=>ae(e.id)},[N(`div`,kn,[N(`div`,An,[u(r).getStatus(e.id)?.status===`running`?(b(),R(`div`,jn)):B(``,!0),N(`div`,Mn,h(e.name),1)]),N(`div`,Nn,[F(K,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),N(`span`,Pn,h(e.status),1),N(`span`,Fn,`· `+h(G(e.updatedAt)),1)])]),F(U,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>H(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[10]||=[I(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),F(U,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>L(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[11]||=[I(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,On))),128))]))),128))],512),[[re,C.value]])])):B(``,!0),d.value.length>0?(b(),R(`div`,In,[N(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:i[2]||=e=>T.value=!T.value},[F(K,{name:T.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),i[12]||=N(`span`,{class:`text-caption text-weight-bold q-ml-xs text-green-4`},` Running `,-1),F(Ve,{label:d.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),w(N(`div`,null,[(b(!0),R(z,null,S(m.value,e=>(b(),R(`div`,{key:e.projectPath,class:`wl-project-group`},[m.value.length>1?(b(),R(`div`,Ln,[F(K,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),N(`span`,Rn,h(e.projectName),1)])):B(``,!0),(b(!0),R(z,null,S(e.workspaces,e=>(b(),R(`div`,{key:e.id,class:_([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===u(t).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:t=>ae(e.id)},[N(`div`,Bn,[N(`div`,Vn,[u(r).getStatus(e.id)?.status===`running`?(b(),R(`div`,Hn)):B(``,!0),N(`div`,Un,h(e.name),1)]),N(`div`,Wn,[N(`span`,Gn,h(e.status),1),N(`span`,Kn,`· `+h(G(e.updatedAt)),1)])]),F(U,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>H(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[13]||=[I(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),F(U,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>L(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[14]||=[I(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,zn))),128))]))),128))],512),[[re,T.value]])])):B(``,!0),f.value.length>0?(b(),R(`div`,qn,[N(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:i[3]||=e=>E.value=!E.value},[F(K,{name:E.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),i[15]||=N(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-6`},` Idle `,-1),F(Ve,{label:f.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),w(N(`div`,null,[(b(!0),R(z,null,S(g.value,e=>(b(),R(`div`,{key:e.projectPath,class:`wl-project-group`},[g.value.length>1?(b(),R(`div`,Jn,[F(K,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),N(`span`,Yn,h(e.projectName),1)])):B(``,!0),(b(!0),R(z,null,S(e.workspaces,e=>(b(),R(`div`,{key:e.id,class:_([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===u(t).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:t=>ae(e.id)},[N(`div`,Zn,[N(`div`,Qn,[u(r).getStatus(e.id)?.status===`running`?(b(),R(`div`,$n)):B(``,!0),N(`div`,er,h(e.name),1)]),N(`div`,tr,h(G(e.updatedAt)),1)]),F(U,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>H(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[16]||=[I(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),F(U,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>L(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[17]||=[I(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,Xn))),128))]))),128))],512),[[re,E.value]])])):B(``,!0),u(t).archived.length>0||D.value?(b(),R(`div`,nr,[N(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:ee},[F(K,{name:D.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),F(K,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),i[18]||=N(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-7`},` Archived `,-1),u(t).archived.length>0?(b(),P(Ve,{key:0,label:u(t).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):B(``,!0)]),w(N(`div`,null,[(b(!0),R(z,null,S(u(t).archived,e=>(b(),R(`div`,{key:e.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[N(`div`,rr,[N(`div`,ir,h(e.name),1),N(`div`,ar,` Archived `+h(G(e.archivedAt)),1)]),F(U,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:t=>ie(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[19]||=[I(`Unarchive`,-1)]]),_:1})]),_:1},8,[`onClick`]),F(U,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>L(e,t)},{default:y(()=>[F($,null,{default:y(()=>[...i[20]||=[I(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[re,D.value]])])):B(``,!0),l.value.length===0&&d.value.length===0&&f.value.length===0&&u(t).archived.length===0?(b(),R(`div`,or,[u(t).loading?(b(),R(z,{key:0},[I(`Loading...`)],64)):s.value?(b(),R(z,{key:1},[I(`No results for "`+h(s.value)+`"`,1)],64)):(b(),R(z,{key:2},[I(`No workspaces yet`)],64))])):B(``,!0)]),F(Ee,{dark:``}),N(`div`,sr,h(v.value)+` workspace`+h(v.value===1?``:`s`)+` · `+h(x.value)+` running `,1)]),F(ke,{modelValue:k.value,"onUpdate:modelValue":i[7]||=e=>k.value=e,persistent:``},{default:y(()=>[F(dt,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:y(()=>[F(ut,null,{default:y(()=>[...i[21]||=[N(`div`,{class:`text-h6`},`Delete workspace?`,-1)]]),_:1}),F(ut,{class:`q-pt-none`},{default:y(()=>[N(`div`,cr,h(A.value?.name),1),N(`div`,lr,h(A.value?.workingBranch),1),N(`div`,ur,[F(vn,{modelValue:te.value,"onUpdate:modelValue":i[4]||=e=>te.value=e,label:`Delete local branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`]),F(vn,{modelValue:j.value,"onUpdate:modelValue":i[5]||=e=>j.value=e,disable:!te.value,label:`Delete remote branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`])]),j.value?(b(),R(`div`,dr,` Warning: this action is irreversible on the remote. `)):B(``,!0)]),_:1}),F(yn,{align:`right`},{default:y(()=>[F(U,{flat:``,label:`Cancel`,color:`grey-5`,onClick:i[6]||=e=>k.value=!1,disable:M.value},null,8,[`disable`]),F(U,{flat:``,label:`Delete`,color:`red-5`,loading:M.value,onClick:V},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-0a589390`]]),pr={class:`drawer-content column full-height`},mr=`at-left-drawer-width`,hr=Q(G({__name:`MainLayout`,setup(e){let t=O(`git`),n=O(!0),r=O(!0),i=parseInt(localStorage.getItem(mr)??`260`,10),a=O(Math.min(500,Math.max(200,i))),o=O(!1);function s(e){e.preventDefault(),o.value=!0;let t=e=>{a.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{o.value=!1,localStorage.setItem(mr,String(a.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 l=J();return(e,i)=>{let o=c(`router-view`);return b(),P(Qe,{view:`lHh LpR lFf`},{default:y(()=>[F(qe,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,width:a.value,breakpoint:0,persistent:``,bordered:``,class:`left-sidebar`},{default:y(()=>[F(fr),N(`div`,{class:`resize-handle`,onMousedown:s},null,32)]),_:1},8,[`modelValue`,`width`]),F(qe,{modelValue:r.value,"onUpdate:modelValue":i[3]||=e=>r.value=e,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`right-sidebar`},{default:y(()=>[N(`div`,pr,[F(Ie,{modelValue:t.value,"onUpdate:modelValue":i[1]||=e=>t.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,align:`justify`,class:`right-tabs`},{default:y(()=>[F(Me,{name:`git`,icon:`commit`}),F(Me,{name:`server`,icon:`dns`}),F(Me,{name:`tasks`,icon:`checklist`}),F(Me,{name:`subagents`,icon:`smart_toy`})]),_:1},8,[`modelValue`]),F(Ee,{dark:``}),F(Ne,{modelValue:t.value,"onUpdate:modelValue":i[2]||=e=>t.value=e,animated:``,class:`col right-tab-panels`},{default:y(()=>[F(je,{name:`git`,class:`q-pa-none`},{default:y(()=>[F(Ht,{workspace:u(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),F(je,{name:`server`,class:`q-pa-none`},{default:y(()=>[F(St,{workspace:u(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),F(je,{name:`tasks`,class:`q-pa-none`},{default:y(()=>[F(an,{workspace:u(l).selectedWorkspace,tasks:u(l).tasks},null,8,[`workspace`,`tasks`]),F(Ee,{dark:``}),F(at,{tasks:u(l).acceptanceCriteria},null,8,[`tasks`]),F(Ee,{dark:``}),F(lt)]),_:1}),F(je,{name:`subagents`,class:`q-pa-none`},{default:y(()=>[F(gn)]),_:1})]),_:1},8,[`modelValue`])])]),_:1},8,[`modelValue`]),F(Je,{class:`main-content`},{default:y(()=>[F(o)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-c56c204b`]]);export{hr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bt as e,q as t,ut as n,x as r}from"./nodes-CXdiSdC2.js";var i=[`top`,`middle`,`bottom`],a=t({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(t,{slots:i}){let a=n(()=>t.align===void 0?null:{verticalAlign:t.align}),o=n(()=>{let e=t.outline===!0&&t.color||t.textColor;return`q-badge flex inline items-center no-wrap q-badge--${t.multiLine===!0?`multi`:`single`}-line`+(t.outline===!0?` q-badge--outline`:t.color===void 0?``:` bg-${t.color}`)+(e===void 0?``:` text-${e}`)+(t.floating===!0?` q-badge--floating`:``)+(t.rounded===!0?` q-badge--rounded`:``)+(t.transparent===!0?` q-badge--transparent`:``)});return()=>e(`div`,{class:o.value,style:a.value,role:`status`,"aria-label":t.label},r(i.default,t.label===void 0?[]:[t.label]))}});export{a as t};
|