@loicngr/kobo 1.4.3 → 1.4.5
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/server/services/dev-server-service.js +18 -5
- package/package.json +1 -1
- package/src/client/dist/spa/assets/ActivityFeed-Bx7maW4r.css +1 -0
- package/src/client/dist/spa/assets/{ActivityFeed-BIQM0mub.js → ActivityFeed-DoQIjq5C.js} +2 -2
- package/src/client/dist/spa/assets/{CreatePage-CgLKLKsZ.js → CreatePage-6J0aDFtf.js} +1 -1
- package/src/client/dist/spa/assets/{DiffViewer-CPIn0gFH.js → DiffViewer-dvGJaxu-.js} +2 -2
- package/src/client/dist/spa/assets/{MainLayout-CrlCMYij.js → MainLayout-DGzPKBi9.js} +2 -2
- package/src/client/dist/spa/assets/{QExpansionItem-NXU79bLV.js → QExpansionItem-D5gm2xc8.js} +1 -1
- package/src/client/dist/spa/assets/{QPage-BQie2uKE.js → QPage-Bg3Rohl6.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-Bjcs3a45.js → SettingsPage-BOkWnRl2.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-kPqPPTeU.js → WorkspacePage-9gRnhdjv.js} +2 -2
- package/src/client/dist/spa/assets/{cssMode-Dz1reVpf.js → cssMode-Dsa4Lydc.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-DNrDS6XX.js → editor.api-qmVdKoc0.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-ECxB0MC0.js → editor.main-D2fZAQLs.js} +3 -3
- package/src/client/dist/spa/assets/{freemarker2-BGCwvBzq.js → freemarker2-e-FYsZTq.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-C7nYMnQ-.js → handlebars-CAwfoT2m.js} +1 -1
- package/src/client/dist/spa/assets/{html-CDFFUgjf.js → html-BTRUpMfA.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-DoQOSSLQ.js → htmlMode-mzgQeoHf.js} +1 -1
- package/src/client/dist/spa/assets/{i18n-DfEkNMbW.js → i18n-B1eQvEGk.js} +1 -1
- package/src/client/dist/spa/assets/{index-CPz3_9Lu.js → index-C0u2YcnZ.js} +2 -2
- package/src/client/dist/spa/assets/{javascript-CdmqnLg8.js → javascript-DDeQuxhB.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-Dbgszxqp.js → jsonMode-Ch5vu2Iw.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-DA7ozrT9.js → liquid-qVj3a9kh.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-C8FQlW-3.js → mdx-Cb_a7RXe.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-BFWCgHaP.js → monaco.contribution-Rz70-mfd.js} +2 -2
- package/src/client/dist/spa/assets/{python-BoaFKzpq.js → python-Cz0peIkX.js} +1 -1
- package/src/client/dist/spa/assets/{razor-84KJ5KLz.js → razor-CU8Xe-4p.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-DqZCvWc2.js → tsMode-CP1svEaN.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-CkduVgs-.js → typescript-aPJGGIsI.js} +1 -1
- package/src/client/dist/spa/assets/{use-checkbox-BMT8A_7i.js → use-checkbox-B8W131xl.js} +1 -1
- package/src/client/dist/spa/assets/{use-quasar-BcOkdMq7.js → use-quasar-sc8fDqi0.js} +1 -1
- package/src/client/dist/spa/assets/{xml-uncFYaFH.js → xml-CZM1zQhV.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-yYK-FwOE.js → yaml-B8qPirw0.js} +1 -1
- package/src/client/dist/spa/index.html +1 -1
- package/src/client/dist/spa/assets/ActivityFeed-OvgJQL4-.css +0 -1
|
@@ -4,6 +4,15 @@ import path from 'node:path';
|
|
|
4
4
|
import { getProjectSettings } from './settings-service.js';
|
|
5
5
|
import { emitEphemeral } from './websocket-service.js';
|
|
6
6
|
import { getWorkspace, updateDevServerStatus } from './workspace-service.js';
|
|
7
|
+
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
8
|
+
function getWorktreePath(projectPath, workingBranch) {
|
|
9
|
+
return path.join(projectPath, '.worktrees', workingBranch);
|
|
10
|
+
}
|
|
11
|
+
/** Build a clean env for child processes, stripping Kobo-specific variables. */
|
|
12
|
+
function cleanEnv() {
|
|
13
|
+
const { PORT, SERVER_PORT, ...rest } = process.env;
|
|
14
|
+
return rest;
|
|
15
|
+
}
|
|
7
16
|
// ── State ──────────────────────────────────────────────────────────────────────
|
|
8
17
|
/** workspaceId -> spawned dev-server process */
|
|
9
18
|
const trackedProcesses = new Map();
|
|
@@ -134,10 +143,12 @@ export function startDevServer(workspaceId) {
|
|
|
134
143
|
}
|
|
135
144
|
const instanceName = sanitizeBranchName(workspace.workingBranch);
|
|
136
145
|
// Execute as bash script (supports multi-line scripts)
|
|
146
|
+
const worktreePath = getWorktreePath(workspace.projectPath, workspace.workingBranch);
|
|
147
|
+
const cwd = existsSync(worktreePath) ? worktreePath : workspace.projectPath;
|
|
137
148
|
const proc = spawn('bash', ['-c', settings.devServer.startCommand], {
|
|
138
|
-
cwd
|
|
149
|
+
cwd,
|
|
139
150
|
env: {
|
|
140
|
-
...
|
|
151
|
+
...cleanEnv(),
|
|
141
152
|
INSTANCE: instanceName,
|
|
142
153
|
DEV_DOCKER_NO_FOLLOW: '1',
|
|
143
154
|
},
|
|
@@ -198,6 +209,8 @@ export function stopDevServer(workspaceId) {
|
|
|
198
209
|
}
|
|
199
210
|
const config = resolveInstance(workspace.projectPath, workspace.workingBranch);
|
|
200
211
|
const instanceName = config?.instanceName ?? sanitizeBranchName(workspace.workingBranch);
|
|
212
|
+
const worktreePath = getWorktreePath(workspace.projectPath, workspace.workingBranch);
|
|
213
|
+
const cwd = existsSync(worktreePath) ? worktreePath : workspace.projectPath;
|
|
201
214
|
// Kill tracked process first (covers Node servers and any spawned process)
|
|
202
215
|
const tracked = trackedProcesses.get(workspaceId);
|
|
203
216
|
if (tracked) {
|
|
@@ -219,9 +232,9 @@ export function stopDevServer(workspaceId) {
|
|
|
219
232
|
// Custom stop script — run synchronously with instance context in env
|
|
220
233
|
try {
|
|
221
234
|
execSync(settings.devServer.stopCommand, {
|
|
222
|
-
cwd
|
|
235
|
+
cwd,
|
|
223
236
|
env: {
|
|
224
|
-
...
|
|
237
|
+
...cleanEnv(),
|
|
225
238
|
INSTANCE: instanceName,
|
|
226
239
|
PROJECT_NAME: config?.projectName ?? '',
|
|
227
240
|
},
|
|
@@ -239,7 +252,7 @@ export function stopDevServer(workspaceId) {
|
|
|
239
252
|
if (config?.projectName) {
|
|
240
253
|
try {
|
|
241
254
|
execSync(`docker compose -p "${config.projectName}" down`, {
|
|
242
|
-
cwd:
|
|
255
|
+
cwd: cwd,
|
|
243
256
|
encoding: 'utf-8',
|
|
244
257
|
timeout: 30000,
|
|
245
258
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loicngr/kobo",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
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",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.activity-feed[data-v-0a9444c1]{flex-direction:column;gap:4px;display:flex;position:relative;overflow:hidden auto}.af-item[data-v-0a9444c1]{word-break:break-word;overflow-wrap:break-word;flex-shrink:0;padding:6px 10px;overflow-x:hidden}.af-time[data-v-0a9444c1]{color:#555;flex-shrink:0;font-size:10px}.af-tool-label[data-v-0a9444c1]{font-family:Roboto Mono,monospace;font-size:11px}.af-tool-desc[data-v-0a9444c1]{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.af-ask-option-item[data-v-0a9444c1]{padding:2px 0}.af-tool-args[data-v-0a9444c1]{background-color:#ffffff0a;padding:6px 8px;overflow-x:auto}.af-args-pre[data-v-0a9444c1]{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-0a9444c1]{background-color:#1a2a3a;border-left:3px solid #3b82f6}.af-item--user[data-v-0a9444c1]{background-color:#1a2a1a;border-left:3px solid #22c55e}.af-item--prompt[data-v-0a9444c1]{background-color:#1a1a2e;border-left:3px solid #6c63ff}.af-text-content[data-v-0a9444c1]{color:#d0d0d0;word-break:break-word;line-height:1.5}.af-markdown[data-v-0a9444c1] p{margin:0 0 8px}.af-markdown[data-v-0a9444c1] p:last-child{margin-bottom:0}.af-markdown[data-v-0a9444c1] h1,.af-markdown[data-v-0a9444c1] h2,.af-markdown[data-v-0a9444c1] h3{color:#e0e0e0;margin:12px 0 6px}.af-markdown[data-v-0a9444c1] h1{font-size:16px}.af-markdown[data-v-0a9444c1] h2{font-size:14px}.af-markdown[data-v-0a9444c1] h3{font-size:13px}.af-markdown[data-v-0a9444c1] ul,.af-markdown[data-v-0a9444c1] ol{margin:4px 0;padding-left:20px}.af-markdown[data-v-0a9444c1] li{margin:2px 0}.af-markdown[data-v-0a9444c1] code{background-color:#ffffff14;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.af-markdown[data-v-0a9444c1] pre{background-color:#0000004d;border-radius:4px;margin:6px 0;padding:8px;overflow-x:auto}.af-markdown[data-v-0a9444c1] pre code{background:0 0;padding:0}.af-markdown[data-v-0a9444c1] strong{color:#fff}.af-markdown[data-v-0a9444c1] a{color:#6c63ff}.af-markdown[data-v-0a9444c1] blockquote{color:#aaa;border-left:3px solid #6c63ff;margin:6px 0;padding:4px 12px}.af-markdown[data-v-0a9444c1] table{border-collapse:collapse;margin:6px 0;font-size:11px}.af-markdown[data-v-0a9444c1] table th,.af-markdown[data-v-0a9444c1] table td{border:1px solid #2a2a4a;padding:4px 8px}.af-markdown[data-v-0a9444c1] table th{background-color:#ffffff0d}.af-item--system[data-v-0a9444c1]{background-color:#2a2a1a;border-left:3px solid #f59e0b}.af-system-details[data-v-0a9444c1]{background-color:#ffffff0a;padding:6px 8px;overflow-x:auto}.af-system-content[data-v-0a9444c1]{white-space:pre-wrap}.af-item--error[data-v-0a9444c1]{background-color:#2a1a1a;border-left:3px solid #ef4444}.af-item--raw[data-v-0a9444c1]{white-space:pre-wrap;font-family:Roboto Mono,monospace}.scroll-buttons[data-v-0a9444c1]{align-self:flex-end;gap:6px;margin-right:8px;display:flex;position:sticky;bottom:8px}.scroll-btn[data-v-0a9444c1]{opacity:.7;transition:opacity .15s}.scroll-btn[data-v-0a9444c1]:hover{opacity:1}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{H as e,I as t,M as n,P as r,T as i,V as a,Z as o,d as s,f as c,g as l,gt as u,h as d,j as ee,l as f,nt as p,p as m,r as h,u as g,v as te,vt as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{t as v,v as y}from"./QBtn-D_bkYnrl.js";import{a as ne,c as b,s as re}from"./index-CPz3_9Lu.js";import{n as ie}from"./vue-i18n-CoZsbeQK.js";import{t as ae}from"./QSpinnerDots-Bu0GloxK.js";import{n as x,t as oe}from"./_plugin-vue_export-helper-Bo392ayB.js";import{t as se}from"./QTooltip-Cuj49WIu.js";var{entries:S,setPrototypeOf:ce,isFrozen:C,getPrototypeOf:w,getOwnPropertyDescriptor:le}=Object,{freeze:T,seal:E,create:ue}=Object,{apply:D,construct:de}=typeof Reflect<`u`&&Reflect;T||=function(e){return e},E||=function(e){return e},D||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},de||=function(e){return new e(...[...arguments].slice(1))};var O=N(Array.prototype.forEach),fe=N(Array.prototype.lastIndexOf),pe=N(Array.prototype.pop),me=N(Array.prototype.push),he=N(Array.prototype.splice),k=N(String.prototype.toLowerCase),ge=N(String.prototype.toString),A=N(String.prototype.match),_e=N(String.prototype.replace),ve=N(String.prototype.indexOf),ye=N(String.prototype.trim),j=N(Object.prototype.hasOwnProperty),M=N(RegExp.prototype.test),be=xe(TypeError);function N(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return D(e,t,n)}}function xe(e){return function(){return de(e,[...arguments])}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:k;ce&&ce(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(C(t)||(t[r]=e),i=e)}e[i]=!0}return e}function F(e){for(let t=0;t<e.length;t++)j(e,t)||(e[t]=null);return e}function I(e){let t=ue(null);for(let[n,r]of S(e))j(e,n)&&(Array.isArray(r)?t[n]=F(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=I(r):t[n]=r);return t}function Se(e,t){for(;e!==null;){let n=le(e,t);if(n){if(n.get)return N(n.get);if(typeof n.value==`function`)return N(n.value)}e=w(e)}function n(){return null}return n}var Ce=T(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),we=T(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Te=T([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Ee=T([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),De=T(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Oe=T([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ke=T([`#text`]),Ae=T(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),je=T(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Me=T(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ne=T([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Pe=E(/\{\{[\w\W]*|[\w\W]*\}\}/gm),L=E(/<%[\w\W]*|[\w\W]*%>/gm),Fe=E(/\$\{[\w\W]*/gm),Ie=E(/^data-[\-\w.\u00B7-\uFFFF]+$/),R=E(/^aria-[\-\w]+$/),Le=E(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Re=E(/^(?:\w+script|data):/i),ze=E(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Be=E(/^html$/i),Ve=E(/^[a-z][.\w]*(-[.\w]+)+$/i),He=Object.freeze({__proto__:null,ARIA_ATTR:R,ATTR_WHITESPACE:ze,CUSTOM_ELEMENT:Ve,DATA_ATTR:Ie,DOCTYPE_NAME:Be,ERB_EXPR:L,IS_ALLOWED_URI:Le,IS_SCRIPT_OR_DATA:Re,MUSTACHE_EXPR:Pe,TMPLIT_EXPR:Fe}),Ue={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},We=function(){return typeof window>`u`?null:window},Ge=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}},Ke=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function qe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:We(),t=e=>qe(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==Ue.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:ee,trustedTypes:f}=e,p=c.prototype,m=Se(p,`cloneNode`),h=Se(p,`remove`),g=Se(p,`nextSibling`),te=Se(p,`childNodes`),_=Se(p,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,y=``,{implementation:ne,createNodeIterator:b,createDocumentFragment:re,getElementsByTagName:ie}=n,{importNode:ae}=r,x=Ke();t.isSupported=typeof S==`function`&&typeof _==`function`&&ne&&ne.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:se,TMPLIT_EXPR:ce,DATA_ATTR:C,ARIA_ATTR:w,IS_SCRIPT_OR_DATA:le,ATTR_WHITESPACE:E,CUSTOM_ELEMENT:D}=He,{IS_ALLOWED_URI:de}=He,N=null,xe=P({},[...Ce,...we,...Te,...De,...ke]),F=null,Pe=P({},[...Ae,...je,...Me,...Ne]),L=Object.seal(ue(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}})),Fe=null,Ie=null,R=Object.seal(ue(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Re=!0,ze=!0,Ve=!1,Je=!0,z=!1,Ye=!0,B=!1,Xe=!1,V=!1,H=!1,Ze=!1,U=!1,Qe=!0,$e=!1,et=!0,W=!1,tt={},G=null,nt=P({},[`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=P({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=P({},[`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=P({},[st,ct,K],ge),ft=P({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=P({},[`annotation-xml`]),mt=P({},[`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=I(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ge:k,N=j(e,`ALLOWED_TAGS`)?P({},e.ALLOWED_TAGS,J):xe,F=j(e,`ALLOWED_ATTR`)?P({},e.ALLOWED_ATTR,J):Pe,ut=j(e,`ALLOWED_NAMESPACES`)?P({},e.ALLOWED_NAMESPACES,ge):dt,at=j(e,`ADD_URI_SAFE_ATTR`)?P(I(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=j(e,`ADD_DATA_URI_TAGS`)?P(I(it),e.ADD_DATA_URI_TAGS,J):it,G=j(e,`FORBID_CONTENTS`)?P({},e.FORBID_CONTENTS,J):nt,Fe=j(e,`FORBID_TAGS`)?P({},e.FORBID_TAGS,J):I({}),Ie=j(e,`FORBID_ATTR`)?P({},e.FORBID_ATTR,J):I({}),tt=j(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Re=e.ALLOW_ARIA_ATTR!==!1,ze=e.ALLOW_DATA_ATTR!==!1,Ve=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Je=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,z=e.SAFE_FOR_TEMPLATES||!1,Ye=e.SAFE_FOR_XML!==!1,B=e.WHOLE_DOCUMENT||!1,H=e.RETURN_DOM||!1,Ze=e.RETURN_DOM_FRAGMENT||!1,U=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,Qe=e.SANITIZE_DOM!==!1,$e=e.SANITIZE_NAMED_PROPS||!1,et=e.KEEP_CONTENT!==!1,W=e.IN_PLACE||!1,de=e.ALLOWED_URI_REGEXP||Le,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,L=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(L.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(L.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(L.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),z&&(ze=!1),Ze&&(H=!0),tt&&(N=P({},ke),F=ue(null),tt.html===!0&&(P(N,Ce),P(F,Ae)),tt.svg===!0&&(P(N,we),P(F,je),P(F,Ne)),tt.svgFilters===!0&&(P(N,Te),P(F,je),P(F,Ne)),tt.mathMl===!0&&(P(N,De),P(F,Me),P(F,Ne))),j(e,`ADD_TAGS`)||(R.tagCheck=null),j(e,`ADD_ATTR`)||(R.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?R.tagCheck=e.ADD_TAGS:(N===xe&&(N=I(N)),P(N,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?R.attributeCheck=e.ADD_ATTR:(F===Pe&&(F=I(F)),P(F,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&P(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=I(G)),P(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=I(G)),P(G,e.ADD_FORBID_CONTENTS,J)),et&&(N[`#text`]=!0),B&&P(N,[`html`,`head`,`body`]),N.table&&(P(N,[`tbody`]),delete Fe.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);v=e.TRUSTED_TYPES_POLICY,y=v.createHTML(``)}else v===void 0&&(v=Ge(f,i)),v!==null&&typeof y==`string`&&(y=v.createHTML(``));T&&T(e),_t=e}},xt=P({},[...we,...Te,...Ee]),St=P({},[...De,...Oe]),Ct=function(e){let t=_(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=k(e.tagName),r=k(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){me(t.removed,{element:e});try{_(e).removeChild(e)}catch{h(e)}},Tt=function(e,n){try{me(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{me(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(H||Ze)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=A(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 ee().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,B?`html`:`body`)[0]:B?t.documentElement:a},Dt=function(e){return b.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){O(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:N}),Ye&&e.hasChildNodes()&&!kt(e.firstElementChild)&&M(/<[/\w!]/g,e.innerHTML)&&M(/<[/\w!]/g,e.textContent)||e.nodeType===Ue.progressingInstruction||Ye&&e.nodeType===Ue.comment&&M(/<[/\w]/g,e.data))return wt(e),!0;if(!(R.tagCheck instanceof Function&&R.tagCheck(r))&&(!N[r]||Fe[r])){if(!Fe[r]&&Mt(r)&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r)))return!1;if(et&&!G[r]){let t=_(e)||e.parentNode,n=te(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=m(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,g(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&M(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(z&&e.nodeType===Ue.text&&(n=e.textContent,O([oe,se,ce],e=>{n=_e(n,e,` `)}),e.textContent!==n&&(me(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Ie[t]||Qe&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(ze&&!Ie[t]&&M(C,t))&&!(Re&&M(w,t))&&!(R.attributeCheck instanceof Function&&R.attributeCheck(t,e))){if(!F[t]||Ie[t]){if(!(Mt(e)&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,e)||L.tagNameCheck instanceof Function&&L.tagNameCheck(e))&&(L.attributeNameCheck instanceof RegExp&&M(L.attributeNameCheck,t)||L.attributeNameCheck instanceof Function&&L.attributeNameCheck(t,e))||t===`is`&&L.allowCustomizedBuiltInElements&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r))))return!1}else if(!at[t]&&!M(de,_e(r,E,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ve(r,`data:`)===0&&rt[e])&&!(Ve&&!M(le,_e(r,E,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&A(e,D)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=J(a),l=s,u=a===`value`?l:ye(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,$e&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),Ye&&M(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&A(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Je&&M(/\/>/i,u)){Tt(a,e);continue}z&&O([oe,se,ce],e=>{u=_e(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(v&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!o)switch(f.getAttributeType(d,c)){case`TrustedHTML`:u=v.createHTML(u);break;case`TrustedScriptURL`:u=v.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):pe(t.removed)}catch{Tt(a,e)}}Y(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 be(`dirty is not a string, aborting`)}else throw be(`toString is not a function`);if(!t.isSupported)return e;if(Xe||bt(n),t.removed=[],typeof e==`string`&&(W=!1),W){if(e.nodeName){let t=J(e.nodeName);if(!N[t]||Fe[t])throw be(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Et(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===Ue.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!H&&!z&&!B&&e.indexOf(`<`)===-1)return v&&U?v.createHTML(e):e;if(i=Et(e),!i)return H?null:U?y:``}i&&V&&wt(i.firstChild);let u=Dt(W?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(W)return e;if(H){if(Ze)for(l=re.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(F.shadowroot||F.shadowrootmode)&&(l=ae.call(r,l,!0)),l}let d=B?i.outerHTML:i.innerHTML;return B&&N[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&M(Be,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
1
|
+
import{H as e,I as t,M as n,P as r,T as i,V as a,Z as o,d as s,f as c,g as l,gt as u,h as d,j as ee,l as f,nt as p,p as m,r as h,u as g,v as te,vt as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{t as v,v as y}from"./QBtn-D_bkYnrl.js";import{a as ne,c as b,s as re}from"./index-C0u2YcnZ.js";import{n as ie}from"./vue-i18n-CoZsbeQK.js";import{t as ae}from"./QSpinnerDots-Bu0GloxK.js";import{n as x,t as oe}from"./_plugin-vue_export-helper-Bo392ayB.js";import{t as se}from"./QTooltip-Cuj49WIu.js";var{entries:S,setPrototypeOf:ce,isFrozen:C,getPrototypeOf:w,getOwnPropertyDescriptor:le}=Object,{freeze:T,seal:E,create:ue}=Object,{apply:D,construct:de}=typeof Reflect<`u`&&Reflect;T||=function(e){return e},E||=function(e){return e},D||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},de||=function(e){return new e(...[...arguments].slice(1))};var O=N(Array.prototype.forEach),fe=N(Array.prototype.lastIndexOf),pe=N(Array.prototype.pop),me=N(Array.prototype.push),he=N(Array.prototype.splice),k=N(String.prototype.toLowerCase),ge=N(String.prototype.toString),A=N(String.prototype.match),_e=N(String.prototype.replace),ve=N(String.prototype.indexOf),ye=N(String.prototype.trim),j=N(Object.prototype.hasOwnProperty),M=N(RegExp.prototype.test),be=xe(TypeError);function N(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return D(e,t,n)}}function xe(e){return function(){return de(e,[...arguments])}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:k;ce&&ce(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(C(t)||(t[r]=e),i=e)}e[i]=!0}return e}function F(e){for(let t=0;t<e.length;t++)j(e,t)||(e[t]=null);return e}function I(e){let t=ue(null);for(let[n,r]of S(e))j(e,n)&&(Array.isArray(r)?t[n]=F(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=I(r):t[n]=r);return t}function Se(e,t){for(;e!==null;){let n=le(e,t);if(n){if(n.get)return N(n.get);if(typeof n.value==`function`)return N(n.value)}e=w(e)}function n(){return null}return n}var Ce=T(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),we=T(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Te=T([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Ee=T([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),De=T(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Oe=T([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ke=T([`#text`]),Ae=T(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),je=T(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Me=T(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ne=T([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Pe=E(/\{\{[\w\W]*|[\w\W]*\}\}/gm),L=E(/<%[\w\W]*|[\w\W]*%>/gm),Fe=E(/\$\{[\w\W]*/gm),Ie=E(/^data-[\-\w.\u00B7-\uFFFF]+$/),R=E(/^aria-[\-\w]+$/),Le=E(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Re=E(/^(?:\w+script|data):/i),ze=E(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Be=E(/^html$/i),Ve=E(/^[a-z][.\w]*(-[.\w]+)+$/i),He=Object.freeze({__proto__:null,ARIA_ATTR:R,ATTR_WHITESPACE:ze,CUSTOM_ELEMENT:Ve,DATA_ATTR:Ie,DOCTYPE_NAME:Be,ERB_EXPR:L,IS_ALLOWED_URI:Le,IS_SCRIPT_OR_DATA:Re,MUSTACHE_EXPR:Pe,TMPLIT_EXPR:Fe}),Ue={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},We=function(){return typeof window>`u`?null:window},Ge=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}},Ke=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function qe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:We(),t=e=>qe(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==Ue.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:ee,trustedTypes:f}=e,p=c.prototype,m=Se(p,`cloneNode`),h=Se(p,`remove`),g=Se(p,`nextSibling`),te=Se(p,`childNodes`),_=Se(p,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,y=``,{implementation:ne,createNodeIterator:b,createDocumentFragment:re,getElementsByTagName:ie}=n,{importNode:ae}=r,x=Ke();t.isSupported=typeof S==`function`&&typeof _==`function`&&ne&&ne.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:se,TMPLIT_EXPR:ce,DATA_ATTR:C,ARIA_ATTR:w,IS_SCRIPT_OR_DATA:le,ATTR_WHITESPACE:E,CUSTOM_ELEMENT:D}=He,{IS_ALLOWED_URI:de}=He,N=null,xe=P({},[...Ce,...we,...Te,...De,...ke]),F=null,Pe=P({},[...Ae,...je,...Me,...Ne]),L=Object.seal(ue(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}})),Fe=null,Ie=null,R=Object.seal(ue(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Re=!0,ze=!0,Ve=!1,Je=!0,z=!1,Ye=!0,B=!1,Xe=!1,V=!1,H=!1,Ze=!1,U=!1,Qe=!0,$e=!1,et=!0,W=!1,tt={},G=null,nt=P({},[`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=P({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=P({},[`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=P({},[st,ct,K],ge),ft=P({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=P({},[`annotation-xml`]),mt=P({},[`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=I(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ge:k,N=j(e,`ALLOWED_TAGS`)?P({},e.ALLOWED_TAGS,J):xe,F=j(e,`ALLOWED_ATTR`)?P({},e.ALLOWED_ATTR,J):Pe,ut=j(e,`ALLOWED_NAMESPACES`)?P({},e.ALLOWED_NAMESPACES,ge):dt,at=j(e,`ADD_URI_SAFE_ATTR`)?P(I(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=j(e,`ADD_DATA_URI_TAGS`)?P(I(it),e.ADD_DATA_URI_TAGS,J):it,G=j(e,`FORBID_CONTENTS`)?P({},e.FORBID_CONTENTS,J):nt,Fe=j(e,`FORBID_TAGS`)?P({},e.FORBID_TAGS,J):I({}),Ie=j(e,`FORBID_ATTR`)?P({},e.FORBID_ATTR,J):I({}),tt=j(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Re=e.ALLOW_ARIA_ATTR!==!1,ze=e.ALLOW_DATA_ATTR!==!1,Ve=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Je=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,z=e.SAFE_FOR_TEMPLATES||!1,Ye=e.SAFE_FOR_XML!==!1,B=e.WHOLE_DOCUMENT||!1,H=e.RETURN_DOM||!1,Ze=e.RETURN_DOM_FRAGMENT||!1,U=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,Qe=e.SANITIZE_DOM!==!1,$e=e.SANITIZE_NAMED_PROPS||!1,et=e.KEEP_CONTENT!==!1,W=e.IN_PLACE||!1,de=e.ALLOWED_URI_REGEXP||Le,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,L=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(L.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(L.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(L.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),z&&(ze=!1),Ze&&(H=!0),tt&&(N=P({},ke),F=ue(null),tt.html===!0&&(P(N,Ce),P(F,Ae)),tt.svg===!0&&(P(N,we),P(F,je),P(F,Ne)),tt.svgFilters===!0&&(P(N,Te),P(F,je),P(F,Ne)),tt.mathMl===!0&&(P(N,De),P(F,Me),P(F,Ne))),j(e,`ADD_TAGS`)||(R.tagCheck=null),j(e,`ADD_ATTR`)||(R.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?R.tagCheck=e.ADD_TAGS:(N===xe&&(N=I(N)),P(N,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?R.attributeCheck=e.ADD_ATTR:(F===Pe&&(F=I(F)),P(F,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&P(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=I(G)),P(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=I(G)),P(G,e.ADD_FORBID_CONTENTS,J)),et&&(N[`#text`]=!0),B&&P(N,[`html`,`head`,`body`]),N.table&&(P(N,[`tbody`]),delete Fe.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw be(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);v=e.TRUSTED_TYPES_POLICY,y=v.createHTML(``)}else v===void 0&&(v=Ge(f,i)),v!==null&&typeof y==`string`&&(y=v.createHTML(``));T&&T(e),_t=e}},xt=P({},[...we,...Te,...Ee]),St=P({},[...De,...Oe]),Ct=function(e){let t=_(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=k(e.tagName),r=k(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){me(t.removed,{element:e});try{_(e).removeChild(e)}catch{h(e)}},Tt=function(e,n){try{me(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{me(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(H||Ze)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=A(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 ee().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,B?`html`:`body`)[0]:B?t.documentElement:a},Dt=function(e){return b.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){O(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:N}),Ye&&e.hasChildNodes()&&!kt(e.firstElementChild)&&M(/<[/\w!]/g,e.innerHTML)&&M(/<[/\w!]/g,e.textContent)||e.nodeType===Ue.progressingInstruction||Ye&&e.nodeType===Ue.comment&&M(/<[/\w]/g,e.data))return wt(e),!0;if(!(R.tagCheck instanceof Function&&R.tagCheck(r))&&(!N[r]||Fe[r])){if(!Fe[r]&&Mt(r)&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r)))return!1;if(et&&!G[r]){let t=_(e)||e.parentNode,n=te(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=m(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,g(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&M(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(z&&e.nodeType===Ue.text&&(n=e.textContent,O([oe,se,ce],e=>{n=_e(n,e,` `)}),e.textContent!==n&&(me(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Ie[t]||Qe&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(ze&&!Ie[t]&&M(C,t))&&!(Re&&M(w,t))&&!(R.attributeCheck instanceof Function&&R.attributeCheck(t,e))){if(!F[t]||Ie[t]){if(!(Mt(e)&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,e)||L.tagNameCheck instanceof Function&&L.tagNameCheck(e))&&(L.attributeNameCheck instanceof RegExp&&M(L.attributeNameCheck,t)||L.attributeNameCheck instanceof Function&&L.attributeNameCheck(t,e))||t===`is`&&L.allowCustomizedBuiltInElements&&(L.tagNameCheck instanceof RegExp&&M(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r))))return!1}else if(!at[t]&&!M(de,_e(r,E,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ve(r,`data:`)===0&&rt[e])&&!(Ve&&!M(le,_e(r,E,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&A(e,D)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=J(a),l=s,u=a===`value`?l:ye(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,$e&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),Ye&&M(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&A(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Je&&M(/\/>/i,u)){Tt(a,e);continue}z&&O([oe,se,ce],e=>{u=_e(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(v&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!o)switch(f.getAttributeType(d,c)){case`TrustedHTML`:u=v.createHTML(u);break;case`TrustedScriptURL`:u=v.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):pe(t.removed)}catch{Tt(a,e)}}Y(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 be(`dirty is not a string, aborting`)}else throw be(`toString is not a function`);if(!t.isSupported)return e;if(Xe||bt(n),t.removed=[],typeof e==`string`&&(W=!1),W){if(e.nodeName){let t=J(e.nodeName);if(!N[t]||Fe[t])throw be(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Et(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===Ue.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!H&&!z&&!B&&e.indexOf(`<`)===-1)return v&&U?v.createHTML(e):e;if(i=Et(e),!i)return H?null:U?y:``}i&&V&&wt(i.firstChild);let u=Dt(W?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(W)return e;if(H){if(Ze)for(l=re.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(F.shadowroot||F.shadowrootmode)&&(l=ae.call(r,l,!0)),l}let d=B?i.outerHTML:i.innerHTML;return B&&N[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&M(Be,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
2
2
|
`+d),z&&O([oe,se,ce],e=>{d=_e(d,e,` `)}),v&&U?v.createHTML(d):d},t.setConfig=function(){bt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),Xe=!0},t.clearConfig=function(){_t=null,Xe=!1},t.isValidAttribute=function(e,t,n){return _t||bt({}),jt(J(e),J(t),n)},t.addHook=function(e,t){typeof t==`function`&&me(x[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=fe(x[e],t);return n===-1?void 0:he(x[e],n,1)[0]}return pe(x[e])},t.removeHooks=function(e){x[e]=[]},t.removeAllHooks=function(){x=Ke()},t}var Je=qe(),z;function Ye(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var B=Ye();function Xe(e){B=e}var V={exec:()=>null};function H(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(U.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Ze=(()=>{try{return!0}catch{return!1}})(),U={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex: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|$)|$)/,W=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,tt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,G=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,nt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,rt=H(nt).replace(/bull/g,G).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),it=H(nt).replace(/bull/g,G).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),at=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ot=/^[^\n]+/,st=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,ct=H(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,st).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),K=H(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,G).getRegex(),q=`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`,lt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ut=H(`^ {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`,lt).replace(`tag`,q).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),dt=H(at).replace(`hr`,W).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`,q).getRegex(),ft={blockquote:H(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,dt).getRegex(),code:$e,def:ct,fences:et,heading:tt,hr:W,html:ut,lheading:rt,list:K,newline:Qe,paragraph:dt,table:V,text:ot},pt=H(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,W).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`,q).getRegex(),mt={...ft,lheading:it,table:pt,paragraph:H(at).replace(`hr`,W).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,pt).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`,q).getRegex()},ht={...ft,html:H(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,lt).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:V,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:H(at).replace(`hr`,W).replace(`heading`,` *#{1,6} *[^
|
|
3
3
|
]`).replace(`lheading`,rt).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},gt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,J=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,_t=/^( {2,}|\\)\n(?!\s*$)/,vt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,yt=/[\p{P}\p{S}]/u,bt=/[\s\p{P}\p{S}]/u,xt=/[^\s\p{P}\p{S}]/u,St=H(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,bt).getRegex(),Ct=/(?!~)[\p{P}\p{S}]/u,wt=/(?!~)[\s\p{P}\p{S}]/u,Tt=/(?:[^\s\p{P}\p{S}]|~)/u,Et=H(/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(),Dt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Ot=H(Dt,`u`).replace(/punct/g,yt).getRegex(),kt=H(Dt,`u`).replace(/punct/g,Ct).getRegex(),Y=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,At=H(Y,`gu`).replace(/notPunctSpace/g,xt).replace(/punctSpace/g,bt).replace(/punct/g,yt).getRegex(),jt=H(Y,`gu`).replace(/notPunctSpace/g,Tt).replace(/punctSpace/g,wt).replace(/punct/g,Ct).getRegex(),Mt=H(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,xt).replace(/punctSpace/g,bt).replace(/punct/g,yt).getRegex(),Nt=H(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,yt).getRegex(),Pt=H(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,xt).replace(/punctSpace/g,bt).replace(/punct/g,yt).getRegex(),Ft=H(/\\(punct)/,`gu`).replace(/punct/g,yt).getRegex(),It=H(/^<(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(),Lt=H(lt).replace(`(?:-->|$)`,`-->`).getRegex(),Rt=H(`^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`,Lt).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),zt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Bt=H(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,zt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Vt=H(/^!?\[(label)\]\[(ref)\]/).replace(`label`,zt).replace(`ref`,st).getRegex(),Ht=H(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,st).getRegex(),Ut=H(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Vt).replace(`nolink`,Ht).getRegex(),Wt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Gt={_backpedal:V,anyPunctuation:Ft,autolink:It,blockSkip:Et,br:_t,code:J,del:V,delLDelim:V,delRDelim:V,emStrongLDelim:Ot,emStrongRDelimAst:At,emStrongRDelimUnd:Mt,escape:gt,link:Bt,nolink:Ht,punctuation:St,reflink:Vt,reflinkSearch:Ut,tag:Rt,text:vt,url:V},Kt={...Gt,link:H(/^!?\[(label)\]\((.*?)\)/).replace(`label`,zt).getRegex(),reflink:H(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,zt).getRegex()},qt={...Gt,emStrongRDelimAst:jt,emStrongLDelim:kt,delLDelim:Nt,delRDelim:Pt,url:H(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Wt).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:H(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Wt).getRegex()},Jt={...qt,br:H(_t).replace(`{2,}`,`*`).getRegex(),text:H(qt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Yt={normal:ft,gfm:mt,pedantic:ht},Xt={normal:Gt,gfm:qt,breaks:Jt,pedantic:Kt},Zt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Qt=e=>Zt[e];function X(e,t){if(t){if(U.escapeTest.test(e))return e.replace(U.escapeReplace,Qt)}else if(U.escapeTestNoEncode.test(e))return e.replace(U.escapeReplaceNoEncode,Qt);return e}function $t(e){try{e=encodeURI(e).replace(U.percentDecode,`%`)}catch{return null}return e}function en(e,t){let n=e.replace(U.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(U.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(U.slashPipe,`|`);return n}function tn(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 nn(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 rn(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 an(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 on(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(`
|
|
@@ -57,4 +57,4 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
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
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=$t(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=$t(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)}},ln=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||B,this.options.renderer=this.options.renderer||new cn,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ln}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}},un=(z=class{constructor(e){b(this,`options`,void 0),b(this,`block`,void 0),this.options=e||B}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(z,`passThroughHooks`,new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`])),b(z,`passThroughHooksRespectAsync`,new Set([`preprocess`,`postprocess`,`processAllTokens`])),z),dn=new class{constructor(...e){b(this,`defaults`,Ye()),b(this,`options`,this.setOptions),b(this,`parse`,this.parseMarkdown(!0)),b(this,`parseInline`,this.parseMarkdown(!1)),b(this,`Parser`,Q),b(this,`Renderer`,cn),b(this,`TextRenderer`,ln),b(this,`Lexer`,Z),b(this,`Tokenizer`,sn),b(this,`Hooks`,un),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 cn(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 sn(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 un;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];un.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&un.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 dn.parse(e,t)}$.options=$.setOptions=function(e){return dn.setOptions(e),$.defaults=dn.defaults,Xe($.defaults),$},$.getDefaults=Ye,$.defaults=B,$.use=function(...e){return dn.use(...e),$.defaults=dn.defaults,Xe($.defaults),$},$.walkTokens=function(e,t){return dn.walkTokens(e,t)},$.parseInline=dn.parseInline,$.Parser=Q,$.parser=Q.parse,$.Renderer=cn,$.TextRenderer=ln,$.Lexer=Z,$.lexer=Z.lex,$.Tokenizer=sn,$.Hooks=un,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Q.parse,Z.lex;var fn={key:0,class:`af-empty column items-center justify-center text-center q-pa-xl`},pn={class:`text-grey-6 q-mt-md text-body2`},mn={class:`text-grey-8 text-caption q-mt-xs`},hn={key:1,class:`row justify-center q-my-sm`},gn=[`data-item-id`],_n={class:`af-tool row items-center q-gutter-xs`},vn={class:`af-tool-label text-indigo-4`},yn={class:`af-time`},bn={key:0,class:`text-grey-4 q-mb-xs`},xn={class:`af-ask-options-list q-mb-sm`},Sn={class:`text-weight-bold text-grey-3`},Cn={key:0},wn={key:1,class:`af-ask-buttons q-gutter-xs`},Tn=[`onClick`],En={class:`af-tool-label text-grey-7`},Dn={key:0,class:`af-tool-desc text-grey-8`},On={class:`af-time`},kn={key:0,class:`af-tool-args q-mt-xs rounded-borders`},An={class:`af-args-pre`},jn={class:`af-text-header row items-center q-mb-xs`},Mn={class:`af-time`},Nn=[`innerHTML`],Pn={key:0,class:`af-options q-mt-sm q-gutter-xs`},Fn=[`onClick`],In={class:`af-system-content text-caption text-amber-6`},Ln={class:`af-time`},Rn={key:0,class:`af-system-details q-mt-xs rounded-borders`},zn={class:`af-args-pre`},Bn={key:4,class:`row items-center`},Vn={class:`af-error-content text-red-5`},Hn={class:`af-time`},Un={key:5,class:`row items-center`},Wn={class:`af-raw-content text-grey-7`},Gn={class:`af-time`},Kn={class:`scroll-buttons`},qn=50,Jn=50,Yn=oe(te({__name:`ActivityFeed`,setup(te){function b(e){let t=$.parse(e,{async:!1,breaks:!0,gfm:!0});return Je.sanitize(t)}let{t:oe}=ie(),S=re(),ce=ne(),C=o(null),w=o(!1),le=o(new Set);function T(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(/^([a-zA-Z])\)\s+(.+)/gm)];if(n.length>=2){let t=e.indexOf(n[0][0]);return{textBefore:e.substring(0,t).trim(),options:n.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let r=[...e.matchAll(/^Option\s+(\d+)\s*[—–-]\s*(.+)/gim)];if(r.length>=2){let t=e.indexOf(r[0][0]);return{textBefore:e.substring(0,t).trim(),options:r.map(e=>({key:e[1],label:e[2].trim()}))}}let i=[...e.matchAll(/^(\d+)\)\s+(.+)/gm)];if(i.length>=2){let t=e.indexOf(i[0][0]);return{textBefore:e.substring(0,t).trim(),options:i.map(e=>({key:e[1],label:e[2].trim()}))}}let a=[...e.matchAll(/^([a-zA-Z])\.\s+(.+)/gm)];if(a.length>=2){let t=e.indexOf(a[0][0]);return{textBefore:e.substring(0,t).trim(),options:a.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let o=[...e.matchAll(/^([a-zA-Z])\s*:\s+(.+)/gm)];if(o.length>=2){let t=e.indexOf(o[0][0]);return{textBefore:e.substring(0,t).trim(),options:o.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let s=[...e.matchAll(/^\(([a-zA-Z0-9])\)\s+(.+)/gm)];if(s.length>=2){let t=e.indexOf(s[0][0]);return{textBefore:e.substring(0,t).trim(),options:s.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let c=[...e.matchAll(/^\[([a-zA-Z0-9])\]\s+(.+)/gm)];if(c.length>=2){let t=e.indexOf(c[0][0]);return{textBefore:e.substring(0,t).trim(),options:c.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let l=[...e.matchAll(/^\d+\.\s*\*\*(.+?)\*\*\s*[—–-]\s*(.+)/gm)];if(l.length>=2){let t=e.indexOf(l[0][0]);return{textBefore:e.substring(0,t).trim(),options:l.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let u=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\([^)]*\)[^\S\n]*)?[—–-][^\S\n]*(.+)/gm)];if(u.length>=2){let t=e.indexOf(u[0][0]);return{textBefore:e.substring(0,t).trim(),options:u.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let d=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\(([^)]*)\))?[^\S\n]*$/gm)];if(d.length>=2){let t=e.indexOf(d[0][0]);return{textBefore:e.substring(0,t).trim(),options:d.map((e,t)=>({key:String(t+1),label:e[2]?`${e[1]} (${e[2]})`:e[1]}))}}return null}let E=new Map;function ue(e,t){return E.has(e)||E.set(e,T(t)),E.get(e)}let D=new Map;function de(e,t){return D.has(e)||D.set(e,we(t)),D.get(e)}let O=new Map;function fe(e,t){return O.has(e)||O.set(e,b(t)),O.get(e)}function pe(e){let t=S.selectedWorkspaceId;t&&ce.sendChatMessage(t,e)}let me=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--)if(e[t].type===`text`)return e[t].id;return null}),he=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.meta?.sender===`user`)return null;if(n.type===`tool_use`&&n.content===`AskUserQuestion`)return n.id}return null}),k=o(-1);function ge(){let e=S.activityFeed,t=e.map((e,t)=>({item:e,idx:t})).filter(({item:e})=>e.meta?.sender===`user`);if(t.length===0)return;k.value<=0?k.value=t.length-1:k.value--;let n=t[k.value].idx,r=t[k.value].item.id,a=e.length-n;a>A.value&&(A.value=Math.min(a+10,e.length)),i(()=>{let e=C.value?.querySelector(`[data-item-id="${r}"]`);e&&e.scrollIntoView({behavior:`smooth`,block:`center`})})}a(()=>S.selectedWorkspaceId,()=>{k.value=-1,E.clear(),D.clear(),O.clear(),ye=0,w.value=!1});let A=o(qn),_e=f(()=>{let e=S.activityFeed;return e.length<=A.value?e:e.slice(-A.value)});a(()=>S.selectedWorkspaceId,()=>{A.value=qn}),a(_e,e=>{let t=new Set(e.map(e=>e.id));for(let e of E.keys())t.has(e)||E.delete(e);for(let e of D.keys())t.has(e)||D.delete(e);for(let e of O.keys())t.has(e)||O.delete(e)},{flush:`post`});let ve=o(!1),ye=0;function j(){let e=C.value;if(e&&(e.scrollHeight-e.scrollTop-e.clientHeight<50?ve.value=!1:e.scrollTop<ye&&(ve.value=!0),ye=e.scrollTop,e.scrollTop<200&&!w.value)){let t=S.activityFeed.length;if(A.value<t){w.value=!0;let n=e.scrollHeight;A.value=Math.min(A.value+Jn,t),i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-n),w.value=!1})}else if(S.selectedWorkspaceId&&S.hasMoreEvents[S.selectedWorkspaceId]!==!1){w.value=!0;let t=e.scrollHeight;S.fetchOlderEvents(S.selectedWorkspaceId).then(e=>{e?(A.value=S.activityFeed.length,i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-t),w.value=!1})):w.value=!1})}}}function M(){if(ve.value)return;let e=C.value;e&&(e.scrollTop=e.scrollHeight)}function be(){ve.value=!1,A.value=qn,i(()=>{let e=C.value;e&&(e.scrollTop=e.scrollHeight)})}a(()=>S.activityFeed.length,()=>{i(M)}),ee(()=>{C.value?.addEventListener(`scroll`,j),i(M)}),n(()=>{C.value?.removeEventListener(`scroll`,j)});function N(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function xe(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 P(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 F(e){switch(e.meta?.sender){case`system-prompt`:return oe(`activityFeed.initialPrompt`);case`user`:return oe(`activityFeed.you`);default:return oe(`activityFeed.agent`)}}function I(e){switch(e.meta?.sender){case`system-prompt`:return`text-indigo-4`;case`user`:return`text-green-4`;default:return`text-blue-4`}}function Se(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 Ce(e){if(!e.meta)return``;let t=e.meta.input;return t&&typeof t.description==`string`?t.description:``}function we(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 Te(e){let t=S.selectedWorkspaceId;t&&ce.sendChatMessage(t,e)}function Ee(e){if(!e.meta)return!1;let t=e.meta;return t.input!==void 0&&t.input!==null}function De(e){le.value.has(e)?le.value.delete(e):le.value.add(e)}function Oe(e){return le.value.has(e)}function ke(e){if(!e.meta)return``;let t=e.meta;if(!t.input)return``;try{return JSON.stringify(t.input,null,2)}catch{return String(t.input)}}let Ae=f(()=>S.activityFeed.some(e=>e.meta?.sender===`user`));function je(e){return e.type!==`system`||!e.meta?!1:Object.keys(e.meta).length>0}function Me(e){if(!e.meta)return``;try{return JSON.stringify(e.meta,null,2)}catch{return``}}return(n,i)=>(r(),m(`div`,{ref_key:`feedContainer`,ref:C,class:`activity-feed q-pa-sm`},[p(S).activityFeed.length===0?(r(),m(`div`,fn,[l(y,{name:`forum`,size:`48px`,color:`grey-8`}),g(`div`,pn,_(n.$t(`activityFeed.empty`)),1),g(`div`,mn,_(n.$t(`activityFeed.emptyHint`)),1)])):c(``,!0),w.value?(r(),m(`div`,hn,[l(ae,{size:`24px`,color:`grey-6`})])):c(``,!0),(r(!0),m(h,null,t(_e.value,i=>(r(),m(`div`,{key:i.id,"data-item-id":i.id,class:u([`af-item text-caption rounded-borders`,P(i)])},[i.type===`tool_use`&&de(i.id,i)?(r(),m(h,{key:0},[g(`div`,_n,[l(y,{name:`help_outline`,size:`14px`,color:`indigo-4`}),g(`span`,vn,_(n.$t(`activityFeed.question`)),1),l(x),g(`span`,yn,_(N(i.timestamp)),1)]),(r(!0),m(h,null,t(de(i.id,i),(n,a)=>(r(),m(`div`,{key:a,class:`q-mt-sm`},[n.question?(r(),m(`div`,bn,_(n.question),1)):c(``,!0),g(`div`,xn,[(r(!0),m(h,null,t(n.options,(e,t)=>(r(),m(`div`,{key:t,class:`af-ask-option-item text-caption text-grey-5`},[g(`span`,Sn,_(t+1)+`. `+_(e.label),1),e.description?(r(),m(`span`,Cn,` — `+_(e.description),1)):c(``,!0)]))),128))]),i.id===he.value?(r(),m(`div`,wn,[(r(!0),m(h,null,t(n.options,(t,n)=>(r(),s(v,{key:t.label,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>Te(`${n+1}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)]))),128))],64)):i.type===`tool_use`?(r(),m(h,{key:1},[g(`div`,{class:u([`af-tool row items-center q-gutter-xs`,{"cursor-pointer":Ee(i)}]),onClick:e=>Ee(i)&&De(i.id)},[l(y,{name:xe(i.content),size:`14px`,color:`grey-6`},null,8,[`name`]),g(`span`,En,_(Se(i)),1),Ce(i)?(r(),m(`span`,Dn,`— `+_(Ce(i)),1)):c(``,!0),Ee(i)?(r(),s(y,{key:1,name:Oe(i.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-7`},null,8,[`name`])):c(``,!0),l(x),g(`span`,On,_(N(i.timestamp)),1)],10,Tn),Oe(i.id)?(r(),m(`div`,kn,[g(`pre`,An,_(ke(i)),1)])):c(``,!0)],64)):i.type===`text`?(r(),m(h,{key:2},[g(`div`,jn,[g(`span`,{class:u([`text-caption text-weight-bold`,I(i)])},_(F(i)),3),i.meta?.pending?(r(),s(ae,{key:0,size:`14px`,color:`grey-5`,class:`q-ml-sm`})):c(``,!0),l(x),g(`span`,Mn,_(N(i.timestamp)),1)]),g(`div`,{class:`af-text-content af-markdown`,innerHTML:fe(i.id,i.content)},null,8,Nn),ue(i.id,i.content)&&i.id===me.value?(r(),m(`div`,Pn,[(r(!0),m(h,null,t(ue(i.id,i.content).options,t=>(r(),s(v,{key:t.key,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>pe(`${t.key}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)],64)):i.type===`system`?(r(),m(h,{key:3},[g(`div`,{class:u([`row items-center`,{"cursor-pointer":je(i)}]),onClick:e=>je(i)&&De(i.id)},[l(y,{name:`info`,size:`14px`,color:`amber-6`,class:`q-mr-xs`}),g(`span`,In,_(i.content),1),je(i)?(r(),s(y,{key:0,name:Oe(i.id)?`expand_less`:`expand_more`,size:`14px`,color:`amber-8`,class:`q-ml-xs`},null,8,[`name`])):c(``,!0),l(x),g(`span`,Ln,_(N(i.timestamp)),1)],10,Fn),Oe(i.id)&&je(i)?(r(),m(`div`,Rn,[g(`pre`,zn,_(Me(i)),1)])):c(``,!0)],64)):i.type===`error`?(r(),m(`div`,Bn,[l(y,{name:`error`,size:`14px`,color:`red-5`,class:`q-mr-xs`}),g(`span`,Vn,_(i.content),1),l(x),g(`span`,Hn,_(N(i.timestamp)),1)])):(r(),m(`div`,Un,[g(`span`,Wn,_(i.content),1),l(x),g(`span`,Gn,_(N(i.timestamp)),1)]))],10,gn))),128)),g(`div`,Kn,[Ae.value?(r(),s(v,{key:0,round:``,dense:``,size:`sm`,icon:`person_search`,color:`indigo-8`,class:`scroll-btn`,onClick:ge},{default:e(()=>[l(se,null,{default:e(()=>[d(_(n.$t(`activityFeed.goToPrevious`)),1)]),_:1})]),_:1})):c(``,!0),ve.value?(r(),s(v,{key:1,round:``,dense:``,size:`sm`,icon:`keyboard_double_arrow_down`,color:`indigo-8`,class:`scroll-btn`,onClick:be},{default:e(()=>[l(se,null,{default:e(()=>[d(_(n.$t(`activityFeed.scrollToBottom`)),1)]),_:1})]),_:1})):c(``,!0)])],512))}}),[[`__scopeId`,`data-v-efa53c24`]]);export{Yn as default};
|
|
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 dn.parse(e,t)}$.options=$.setOptions=function(e){return dn.setOptions(e),$.defaults=dn.defaults,Xe($.defaults),$},$.getDefaults=Ye,$.defaults=B,$.use=function(...e){return dn.use(...e),$.defaults=dn.defaults,Xe($.defaults),$},$.walkTokens=function(e,t){return dn.walkTokens(e,t)},$.parseInline=dn.parseInline,$.Parser=Q,$.parser=Q.parse,$.Renderer=cn,$.TextRenderer=ln,$.Lexer=Z,$.lexer=Z.lex,$.Tokenizer=sn,$.Hooks=un,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Q.parse,Z.lex;var fn={key:0,class:`af-empty column items-center justify-center text-center q-pa-xl`},pn={class:`text-grey-6 q-mt-md text-body2`},mn={class:`text-grey-8 text-caption q-mt-xs`},hn={key:1,class:`row justify-center q-my-sm`},gn=[`data-item-id`],_n={class:`af-tool row items-center q-gutter-xs`},vn={class:`af-tool-label text-indigo-4`},yn={class:`af-time`},bn={key:0,class:`text-grey-4 q-mb-xs`},xn={class:`af-ask-options-list q-mb-sm`},Sn={class:`text-weight-bold text-grey-3`},Cn={key:0},wn={key:1,class:`af-ask-buttons q-gutter-xs`},Tn=[`onClick`],En={class:`af-tool-label text-grey-7`},Dn={key:0,class:`af-tool-desc text-grey-8`},On={class:`af-time`},kn={key:0,class:`af-tool-args q-mt-xs rounded-borders`},An={class:`af-args-pre`},jn={class:`af-text-header row items-center q-mb-xs`},Mn={class:`af-time`},Nn=[`innerHTML`],Pn={key:0,class:`af-options q-mt-sm q-gutter-xs`},Fn=[`onClick`],In={class:`af-system-content text-caption text-amber-6`},Ln={class:`af-time`},Rn={key:0,class:`af-system-details q-mt-xs rounded-borders`},zn={class:`af-args-pre`},Bn={key:4,class:`row items-center`},Vn={class:`af-error-content text-red-5`},Hn={class:`af-time`},Un={key:5,class:`row items-center`},Wn={class:`af-raw-content text-grey-7`},Gn={class:`af-time`},Kn={class:`scroll-buttons`},qn=50,Jn=50,Yn=oe(te({__name:`ActivityFeed`,setup(te){function b(e){let t=$.parse(e,{async:!1,breaks:!0,gfm:!0});return Je.sanitize(t)}let{t:oe}=ie(),S=re(),ce=ne(),C=o(null),w=o(!1),le=o(new Set);function T(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(/^\*\*([a-zA-Z])\)\*\*\s+(.+)/gm)];if(n.length>=2){let t=e.indexOf(n[0][0]);return{textBefore:e.substring(0,t).trim(),options:n.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let r=[...e.matchAll(/^([a-zA-Z])\)\s+(.+)/gm)];if(r.length>=2){let t=e.indexOf(r[0][0]);return{textBefore:e.substring(0,t).trim(),options:r.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let i=[...e.matchAll(/^Option\s+(\d+)\s*[—–-]\s*(.+)/gim)];if(i.length>=2){let t=e.indexOf(i[0][0]);return{textBefore:e.substring(0,t).trim(),options:i.map(e=>({key:e[1],label:e[2].trim()}))}}let a=[...e.matchAll(/^(\d+)\)\s+(.+)/gm)];if(a.length>=2){let t=e.indexOf(a[0][0]);return{textBefore:e.substring(0,t).trim(),options:a.map(e=>({key:e[1],label:e[2].trim()}))}}let o=[...e.matchAll(/^([a-zA-Z])\.\s+(.+)/gm)];if(o.length>=2){let t=e.indexOf(o[0][0]);return{textBefore:e.substring(0,t).trim(),options:o.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let s=[...e.matchAll(/^([a-zA-Z])\s*:\s+(.+)/gm)];if(s.length>=2){let t=e.indexOf(s[0][0]);return{textBefore:e.substring(0,t).trim(),options:s.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let c=[...e.matchAll(/^\(([a-zA-Z0-9])\)\s+(.+)/gm)];if(c.length>=2){let t=e.indexOf(c[0][0]);return{textBefore:e.substring(0,t).trim(),options:c.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let l=[...e.matchAll(/^\[([a-zA-Z0-9])\]\s+(.+)/gm)];if(l.length>=2){let t=e.indexOf(l[0][0]);return{textBefore:e.substring(0,t).trim(),options:l.map(e=>({key:e[1].toUpperCase(),label:e[2].trim()}))}}let u=[...e.matchAll(/^\d+\.\s*\*\*(.+?)\*\*\s*[—–-]\s*(.+)/gm)];if(u.length>=2){let t=e.indexOf(u[0][0]);return{textBefore:e.substring(0,t).trim(),options:u.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let d=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\([^)]*\)[^\S\n]*)?[—–-][^\S\n]*(.+)/gm)];if(d.length>=2){let t=e.indexOf(d[0][0]);return{textBefore:e.substring(0,t).trim(),options:d.map((e,t)=>({key:String(t+1),label:`${e[1]} — ${e[2]}`}))}}let ee=[...e.matchAll(/^[-•][^\S\n]*\*\*(.+?)\*\*[^\S\n]*(?:\(([^)]*)\))?[^\S\n]*$/gm)];if(ee.length>=2){let t=e.indexOf(ee[0][0]);return{textBefore:e.substring(0,t).trim(),options:ee.map((e,t)=>({key:String(t+1),label:e[2]?`${e[1]} (${e[2]})`:e[1]}))}}return null}let E=new Map;function ue(e,t){return E.has(e)||E.set(e,T(t)),E.get(e)}let D=new Map;function de(e,t){return D.has(e)||D.set(e,we(t)),D.get(e)}let O=new Map;function fe(e,t){return O.has(e)||O.set(e,b(t)),O.get(e)}function pe(e){let t=S.selectedWorkspaceId;t&&ce.sendChatMessage(t,e)}let me=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--)if(e[t].type===`text`)return e[t].id;return null}),he=f(()=>{let e=S.activityFeed;for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.meta?.sender===`user`)return null;if(n.type===`tool_use`&&n.content===`AskUserQuestion`)return n.id}return null}),k=o(-1);function ge(){let e=S.activityFeed,t=e.map((e,t)=>({item:e,idx:t})).filter(({item:e})=>e.meta?.sender===`user`);if(t.length===0)return;k.value<=0?k.value=t.length-1:k.value--;let n=t[k.value].idx,r=t[k.value].item.id,a=e.length-n;a>A.value&&(A.value=Math.min(a+10,e.length)),i(()=>{let e=C.value?.querySelector(`[data-item-id="${r}"]`);e&&e.scrollIntoView({behavior:`smooth`,block:`center`})})}a(()=>S.selectedWorkspaceId,()=>{k.value=-1,E.clear(),D.clear(),O.clear(),ye=0,w.value=!1});let A=o(qn),_e=f(()=>{let e=S.activityFeed;return e.length<=A.value?e:e.slice(-A.value)});a(()=>S.selectedWorkspaceId,()=>{A.value=qn}),a(_e,e=>{let t=new Set(e.map(e=>e.id));for(let e of E.keys())t.has(e)||E.delete(e);for(let e of D.keys())t.has(e)||D.delete(e);for(let e of O.keys())t.has(e)||O.delete(e)},{flush:`post`});let ve=o(!1),ye=0;function j(){let e=C.value;if(e&&(e.scrollHeight-e.scrollTop-e.clientHeight<50?ve.value=!1:e.scrollTop<ye&&(ve.value=!0),ye=e.scrollTop,e.scrollTop<200&&!w.value)){let t=S.activityFeed.length;if(A.value<t){w.value=!0;let n=e.scrollHeight;A.value=Math.min(A.value+Jn,t),i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-n),w.value=!1})}else if(S.selectedWorkspaceId&&S.hasMoreEvents[S.selectedWorkspaceId]!==!1){w.value=!0;let t=e.scrollHeight;S.fetchOlderEvents(S.selectedWorkspaceId).then(e=>{e?(A.value=S.activityFeed.length,i(()=>{C.value&&(C.value.scrollTop+=C.value.scrollHeight-t),w.value=!1})):w.value=!1})}}}function M(){if(ve.value)return;let e=C.value;e&&(e.scrollTop=e.scrollHeight)}function be(){ve.value=!1,A.value=qn,i(()=>{let e=C.value;e&&(e.scrollTop=e.scrollHeight)})}a(()=>S.activityFeed.length,()=>{i(M)}),ee(()=>{C.value?.addEventListener(`scroll`,j),i(M)}),n(()=>{C.value?.removeEventListener(`scroll`,j)});function N(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function xe(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 P(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 F(e){switch(e.meta?.sender){case`system-prompt`:return oe(`activityFeed.initialPrompt`);case`user`:return oe(`activityFeed.you`);default:return oe(`activityFeed.agent`)}}function I(e){switch(e.meta?.sender){case`system-prompt`:return`text-indigo-4`;case`user`:return`text-green-4`;default:return`text-blue-4`}}function Se(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 Ce(e){if(!e.meta)return``;let t=e.meta.input;return t&&typeof t.description==`string`?t.description:``}function we(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 Te(e){let t=S.selectedWorkspaceId;t&&ce.sendChatMessage(t,e)}function Ee(e){if(!e.meta)return!1;let t=e.meta;return t.input!==void 0&&t.input!==null}function De(e){le.value.has(e)?le.value.delete(e):le.value.add(e)}function Oe(e){return le.value.has(e)}function ke(e){if(!e.meta)return``;let t=e.meta;if(!t.input)return``;try{return JSON.stringify(t.input,null,2)}catch{return String(t.input)}}let Ae=f(()=>S.activityFeed.some(e=>e.meta?.sender===`user`));function je(e){return e.type!==`system`||!e.meta?!1:Object.keys(e.meta).length>0}function Me(e){if(!e.meta)return``;try{return JSON.stringify(e.meta,null,2)}catch{return``}}return(n,i)=>(r(),m(`div`,{ref_key:`feedContainer`,ref:C,class:`activity-feed q-pa-sm`},[p(S).activityFeed.length===0?(r(),m(`div`,fn,[l(y,{name:`forum`,size:`48px`,color:`grey-8`}),g(`div`,pn,_(n.$t(`activityFeed.empty`)),1),g(`div`,mn,_(n.$t(`activityFeed.emptyHint`)),1)])):c(``,!0),w.value?(r(),m(`div`,hn,[l(ae,{size:`24px`,color:`grey-6`})])):c(``,!0),(r(!0),m(h,null,t(_e.value,i=>(r(),m(`div`,{key:i.id,"data-item-id":i.id,class:u([`af-item text-caption rounded-borders`,P(i)])},[i.type===`tool_use`&&de(i.id,i)?(r(),m(h,{key:0},[g(`div`,_n,[l(y,{name:`help_outline`,size:`14px`,color:`indigo-4`}),g(`span`,vn,_(n.$t(`activityFeed.question`)),1),l(x),g(`span`,yn,_(N(i.timestamp)),1)]),(r(!0),m(h,null,t(de(i.id,i),(n,a)=>(r(),m(`div`,{key:a,class:`q-mt-sm`},[n.question?(r(),m(`div`,bn,_(n.question),1)):c(``,!0),g(`div`,xn,[(r(!0),m(h,null,t(n.options,(e,t)=>(r(),m(`div`,{key:t,class:`af-ask-option-item text-caption text-grey-5`},[g(`span`,Sn,_(t+1)+`. `+_(e.label),1),e.description?(r(),m(`span`,Cn,` — `+_(e.description),1)):c(``,!0)]))),128))]),i.id===he.value?(r(),m(`div`,wn,[(r(!0),m(h,null,t(n.options,(t,n)=>(r(),s(v,{key:t.label,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>Te(`${n+1}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)]))),128))],64)):i.type===`tool_use`?(r(),m(h,{key:1},[g(`div`,{class:u([`af-tool row items-center q-gutter-xs`,{"cursor-pointer":Ee(i)}]),onClick:e=>Ee(i)&&De(i.id)},[l(y,{name:xe(i.content),size:`14px`,color:`grey-6`},null,8,[`name`]),g(`span`,En,_(Se(i)),1),Ce(i)?(r(),m(`span`,Dn,`— `+_(Ce(i)),1)):c(``,!0),Ee(i)?(r(),s(y,{key:1,name:Oe(i.id)?`expand_less`:`expand_more`,size:`14px`,color:`grey-7`},null,8,[`name`])):c(``,!0),l(x),g(`span`,On,_(N(i.timestamp)),1)],10,Tn),Oe(i.id)?(r(),m(`div`,kn,[g(`pre`,An,_(ke(i)),1)])):c(``,!0)],64)):i.type===`text`?(r(),m(h,{key:2},[g(`div`,jn,[g(`span`,{class:u([`text-caption text-weight-bold`,I(i)])},_(F(i)),3),i.meta?.pending?(r(),s(ae,{key:0,size:`14px`,color:`grey-5`,class:`q-ml-sm`})):c(``,!0),l(x),g(`span`,Mn,_(N(i.timestamp)),1)]),g(`div`,{class:`af-text-content af-markdown`,innerHTML:fe(i.id,i.content)},null,8,Nn),ue(i.id,i.content)&&i.id===me.value?(r(),m(`div`,Pn,[(r(!0),m(h,null,t(ue(i.id,i.content).options,t=>(r(),s(v,{key:t.key,"no-caps":``,outline:``,dense:``,color:`indigo-4`,class:`af-option-btn`,onClick:e=>pe(`${t.key}. ${t.label}`)},{default:e(()=>[d(_(t.label),1)]),_:2},1032,[`onClick`]))),128))])):c(``,!0)],64)):i.type===`system`?(r(),m(h,{key:3},[g(`div`,{class:u([`row items-center`,{"cursor-pointer":je(i)}]),onClick:e=>je(i)&&De(i.id)},[l(y,{name:`info`,size:`14px`,color:`amber-6`,class:`q-mr-xs`}),g(`span`,In,_(i.content),1),je(i)?(r(),s(y,{key:0,name:Oe(i.id)?`expand_less`:`expand_more`,size:`14px`,color:`amber-8`,class:`q-ml-xs`},null,8,[`name`])):c(``,!0),l(x),g(`span`,Ln,_(N(i.timestamp)),1)],10,Fn),Oe(i.id)&&je(i)?(r(),m(`div`,Rn,[g(`pre`,zn,_(Me(i)),1)])):c(``,!0)],64)):i.type===`error`?(r(),m(`div`,Bn,[l(y,{name:`error`,size:`14px`,color:`red-5`,class:`q-mr-xs`}),g(`span`,Vn,_(i.content),1),l(x),g(`span`,Hn,_(N(i.timestamp)),1)])):(r(),m(`div`,Un,[g(`span`,Wn,_(i.content),1),l(x),g(`span`,Gn,_(N(i.timestamp)),1)]))],10,gn))),128)),g(`div`,Kn,[Ae.value?(r(),s(v,{key:0,round:``,dense:``,size:`sm`,icon:`person_search`,color:`indigo-8`,class:`scroll-btn`,onClick:ge},{default:e(()=>[l(se,null,{default:e(()=>[d(_(n.$t(`activityFeed.goToPrevious`)),1)]),_:1})]),_:1})):c(``,!0),ve.value?(r(),s(v,{key:1,round:``,dense:``,size:`sm`,icon:`keyboard_double_arrow_down`,color:`indigo-8`,class:`scroll-btn`,onClick:be},{default:e(()=>[l(se,null,{default:e(()=>[d(_(n.$t(`activityFeed.scrollToBottom`)),1)]),_:1})]),_:1})):c(``,!0)])],512))}}),[[`__scopeId`,`data-v-0a9444c1`]]);export{Yn as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as e,I as t,M as n,P as r,V as i,Z as a,d as o,f as s,g as c,h as l,j as ee,l as u,nt as te,p as d,r as f,u as p,v as ne,vt as m,w as re}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{J as h,W as ie,Y as g,t as _,v}from"./QBtn-D_bkYnrl.js";import{r as ae}from"./nodes-Bo-5xQjA.js";import{a as oe,r as se,s as ce}from"./index-
|
|
1
|
+
import{H as e,I as t,M as n,P as r,V as i,Z as a,d as o,f as s,g as c,h as l,j as ee,l as u,nt as te,p as d,r as f,u as p,v as ne,vt as m,w as re}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{J as h,W as ie,Y as g,t as _,v}from"./QBtn-D_bkYnrl.js";import{r as ae}from"./nodes-Bo-5xQjA.js";import{a as oe,r as se,s as ce}from"./index-C0u2YcnZ.js";import{n as le}from"./vue-i18n-CoZsbeQK.js";import{n as y,t as b}from"./_plugin-vue_export-helper-Bo392ayB.js";import{t as x}from"./QSeparator-MRAsTeNf.js";import{s as S,t as ue}from"./use-quasar-sc8fDqi0.js";import{a as C,i as w,n as T,r as E,t as de}from"./QPage-Bg3Rohl6.js";import{t as D}from"./QExpansionItem-D5gm2xc8.js";var fe={class:`create-inner`},pe={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},me={class:`create-card rounded-borders`},he={class:`card-top-bar row items-center q-px-md q-py-xs`},ge={class:`model-badge cursor-default row items-center q-gutter-xs`},_e={class:`text-indigo-3 text-weight-medium text-caption`},ve={key:0,class:`notion-url-wrap`},ye={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},be={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},xe={class:`card-name-wrap`},Se={class:`card-textarea-wrap`},Ce={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},we={class:`q-pa-sm manual-section-body`},Te={class:`row items-center q-gutter-sm q-mb-sm`},Ee={class:`col text-caption text-grey-4`},De={class:`q-pa-sm manual-section-body`},Oe={class:`row items-center q-gutter-sm q-mb-sm`},ke={class:`col text-caption text-grey-4`},Ae={class:`card-bottom-bar row items-center wrap q-px-sm q-py-xs q-gutter-xs`},je={class:`bottom-select-label row items-center no-wrap`},Me={class:`bottom-select-label row items-center no-wrap`},Ne={class:`bottom-select-label row items-center no-wrap`},Pe={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},O=b(ne({__name:`CreatePage`,setup(ne){let b=se(),O=ue(),k=ce(),A=ae(),{t:j}=le(),M=a([]),N=a(``),P=a(``),F=a(``),I=a(!1),L=a(`auto`),R=a(``),z=a(null),B=a([]),V=a(!1),H=a(!1),U=u(()=>[{label:j(`model.auto`),value:`auto`,description:`Claude picks the optimal model`},{label:j(`model.opus`),value:`claude-opus-4-6`,description:`Most powerful`},{label:j(`model.sonnet`),value:`claude-sonnet-4-6`,description:`Balanced`},{label:j(`model.haiku`),value:`claude-haiku-4-5-20251001`,description:`Fastest`}]),W=u(()=>F.value.trim().startsWith(`https://www.notion.so/`)),G=a([]),K=a([]),q=a(``),J=a(``),Y=u(()=>!I.value||!W.value);function X(){let e=q.value.trim();e&&(G.value.push(e),q.value=``)}function Fe(e){G.value.splice(e,1)}function Ie(){let e=J.value.trim();e&&(K.value.push(e),J.value=``)}function Le(e){K.value.splice(e,1)}function Re(){I.value=!I.value,I.value||(F.value=``)}async function ze(e){if(!e.trim()){B.value=[],z.value=null;return}V.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();B.value=n.local??n.branches??[],B.value.length>0&&!z.value&&(z.value=B.value[0]??null)}catch{B.value=[],z.value=null}finally{V.value=!1}}function Be(e){let t=A.getProjectByPath(e);t&&(t.defaultSourceBranch&&(z.value=t.defaultSourceBranch),t.defaultModel?L.value=t.defaultModel:A.global.defaultModel&&(L.value=A.global.defaultModel))}let Z=null;i(R,e=>{Z&&clearTimeout(Z),Z=setTimeout(()=>{z.value=null,ze(e),Be(e)},500)});function Ve(e,t){t(()=>{M.value=A.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ee(()=>{A.fetchSettings()}),n(()=>{Z&&clearTimeout(Z)});function He(e){return e.toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function Q(){return N.value.trim()?N.value.trim().substring(0,80):!I.value&&P.value.trim()&&(P.value.trim().split(`
|
|
2
2
|
`)[0]??``).substring(0,80)||`workspace`}function Ue(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 We(){return I.value&&!W.value?j(`createPage.validationNotionUrl`):!I.value&&!P.value.trim()?j(`createPage.validationDescription`):!I.value&&(!Q()||Q()===`workspace`)&&!N.value.trim()&&!P.value.trim()?j(`createPage.validationName`):R.value.trim()?z.value?null:j(`createPage.validationBranch`):j(`createPage.validationPath`)}async function $(){let e=We();if(e){O.notify({type:`negative`,message:e,position:`top`});return}H.value=!0;try{let e=Q(),t;t=e===`workspace`?I.value&&W.value?Ue(F.value.trim()):`task-${Date.now()}`:He(e);let n=`feature/${t}`,r={name:e,projectPath:R.value.trim(),sourceBranch:z.value,workingBranch:n,model:L.value,...I.value&&W.value?{notionUrl:F.value.trim()}:{},...Y.value&&G.value.length>0?{tasks:G.value}:{},...Y.value&&K.value.length>0?{acceptanceCriteria:K.value}:{}},i=await k.createWorkspace(r);oe().subscribe(i.id),k.selectWorkspace(i.id),b.push({name:`workspace`,params:{id:i.id}})}catch{O.notify({type:`negative`,message:j(`createPage.errorCreating`),position:`top`})}finally{H.value=!1}}return(n,i)=>(r(),o(de,{class:`create-page flex flex-center column`},{default:e(()=>[p(`div`,fe,[p(`div`,pe,m(n.$t(`createPage.title`)),1),p(`div`,me,[p(`div`,he,[p(`span`,ge,[c(v,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),p(`span`,_e,m(n.$t(`createPage.claudeCode`)),1)]),c(y),c(_,{flat:``,dense:``,"no-caps":``,size:`sm`,color:I.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,onClick:Re},{default:e(()=>[c(v,{name:`description`,size:`14px`,class:`q-mr-xs`}),l(` `+m(I.value?n.$t(`createPage.notionEnabled`):n.$t(`createPage.importNotion`)),1)]),_:1},8,[`color`])]),c(x,{color:`grey-9`}),c(ie,{name:`slide`},{default:e(()=>[I.value?(r(),d(`div`,ve,[c(S,{modelValue:F.value,"onUpdate:modelValue":i[0]||=e=>F.value=e,borderless:``,dense:``,placeholder:n.$t(`createPage.notionPlaceholder`),class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:e(()=>[c(v,{name:`link`,size:`16px`,color:W.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),F.value.trim()&&!W.value?(r(),d(`div`,ye,m(n.$t(`createPage.notionValidation`)),1)):s(``,!0),W.value?(r(),d(`div`,be,m(n.$t(`createPage.notionAutoExtract`)),1)):s(``,!0)])):s(``,!0)]),_:1}),I.value?(r(),o(x,{key:0,color:`grey-9`})):s(``,!0),p(`div`,xe,[c(S,{modelValue:N.value,"onUpdate:modelValue":i[1]||=e=>N.value=e,borderless:``,dense:``,placeholder:I.value&&W.value?n.$t(`createPage.workspaceName`):n.$t(`createPage.workspaceNamePlaceholder`),class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),c(x,{color:`grey-9`}),p(`div`,Se,[c(S,{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:I.value?n.$t(`createPage.instructions`):n.$t(`createPage.instructionsPlaceholder`),class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[h(g($,[`ctrl`]),[`enter`]),h(g($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),c(x,{color:`grey-9`}),Y.value?(r(),d(f,{key:1},[p(`div`,Ce,m(n.$t(`createPage.manualHint`)),1),c(D,{dark:``,dense:``,label:n.$t(`createPage.tasks`,{count:G.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:e(()=>[p(`div`,we,[p(`div`,Te,[c(S,{modelValue:q.value,"onUpdate:modelValue":i[3]||=e=>q.value=e,dark:``,dense:``,borderless:``,placeholder:n.$t(`createPage.addTask`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:h(g(X,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),c(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!q.value.trim(),onClick:X},null,8,[`disable`])]),(r(!0),d(f,null,t(G.value,(e,t)=>(r(),d(`div`,{key:`task-${t}`,class:`row items-center q-py-xs manual-item`},[p(`span`,Ee,m(e),1),c(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Fe(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(D,{dark:``,dense:``,label:n.$t(`createPage.acceptanceCriteria`,{count:K.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:e(()=>[p(`div`,De,[p(`div`,Oe,[c(S,{modelValue:J.value,"onUpdate:modelValue":i[4]||=e=>J.value=e,dark:``,dense:``,borderless:``,placeholder:n.$t(`createPage.addCriterion`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:h(g(Ie,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),c(_,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!J.value.trim(),onClick:Ie},null,8,[`disable`])]),(r(!0),d(f,null,t(K.value,(e,t)=>(r(),d(`div`,{key:`crit-${t}`,class:`row items-center q-py-xs manual-item`},[p(`span`,ke,m(e),1),c(_,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Le(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(x,{color:`grey-9`})],64)):s(``,!0),p(`div`,Ae,[c(T,{modelValue:L.value,"onUpdate:modelValue":i[5]||=e=>L.value=e,options:U.value,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:e(()=>[p(`span`,je,[l(m(U.value.find(e=>e.value===L.value)?.label??L.value)+` `,1),c(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:e(({opt:t,itemProps:n})=>[c(C,re(n,{class:`model-option`}),{default:e(()=>[c(w,null,{default:e(()=>[c(E,{class:`text-white`},{default:e(()=>[l(m(t.label),1)]),_:2},1024),c(E,{caption:``,class:`text-grey-5`},{default:e(()=>[l(m(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`]),c(y),c(T,{modelValue:R.value,"onUpdate:modelValue":i[6]||=e=>R.value=e,options:M.value,dense:``,borderless:``,"use-input":``,"hide-selected":``,"fill-input":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,behavior:te(A).projectPaths.length>0?`menu`:`dialog`,onFilter:Ve,onInputValue:i[7]||=e=>{R.value=e}},{prepend:e(()=>[c(v,{name:`attach_file`,size:`12px`,color:`grey-5`})]),selected:e(()=>[p(`span`,Me,m(R.value||n.$t(`createPage.projectPath`)),1)]),"no-option":e(()=>[c(C,null,{default:e(()=>[c(w,{class:`text-grey-6 text-caption`},{default:e(()=>[l(m(n.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`behavior`]),c(T,{modelValue:z.value,"onUpdate:modelValue":i[8]||=e=>z.value=e,options:B.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,loading:V.value,disable:!R.value.trim()||V.value},{selected:e(()=>[p(`span`,Ne,[c(v,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),l(` `+m(z.value??n.$t(`createPage.branch`))+` `,1),c(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":e(()=>[c(C,null,{default:e(()=>[c(w,{class:`text-grey-6 text-caption`},{default:e(()=>[l(m(R.value.trim()?n.$t(`createPage.noBranches`):n.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`]),c(_,{label:n.$t(`createPage.create`),"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:H.value,onClick:$},null,8,[`label`,`loading`])])]),p(`div`,Pe,m(I.value?n.$t(`createPage.notionExtractHint`):n.$t(`createPage.notionImportHint`)),1)])]),_:1}))}}),[[`__scopeId`,`data-v-ffd8f69d`]]);export{O as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-
|
|
2
|
-
import{I as e,M as t,P as n,V as r,Z as i,_t as a,d as o,f as s,g as c,gt as l,j as u,l as d,p as f,r as p,u as m,v as h,vt as g,x as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{B as v,S as y,b,n as x,t as S,v as C}from"./QBtn-D_bkYnrl.js";import{t as ee}from"./index-CPz3_9Lu.js";import{n as w}from"./vue-i18n-CoZsbeQK.js";import{t as T}from"./QSpinnerDots-Bu0GloxK.js";import{n as te,t as E}from"./_plugin-vue_export-helper-Bo392ayB.js";import{t as D}from"./QBadge-Y5QfSDtm.js";import{i as O,o as k,t as ne}from"./QSeparator-MRAsTeNf.js";var A=v({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=d(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>_(`div`,{class:n.value},y(t.default))}}),re=v({name:`QBtnToggle`,props:{...k,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=d(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=O(d(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),a=d(()=>x(e)),o=d(()=>({rounded:e.rounded,dense:e.dense,...a.value})),s=d(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...s}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...s,...o.value,disable:e.disable===!0||s.disable===!0,color:i===e.modelValue?l(s,`toggleColor`):l(s,`color`),textColor:i===e.modelValue?l(s,`toggleTextColor`):l(s,`textColor`),noCaps:l(s,`noCaps`)===!0,noWrap:l(s,`noWrap`)===!0,size:l(s,`size`),padding:l(s,`padding`),ripple:l(s,`ripple`),stack:l(s,`stack`)===!0,stretch:l(s,`stretch`)===!0,onClick(e){c(i,t,e)}}}}));function c(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function l(t,n){return t[n]===void 0?e[n]:t[n]}function u(){let n=s.value.map(e=>_(S,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),b(t.default,n)}return()=>_(A,{class:`q-btn-toggle`,...a.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},u)}}),ie={class:`diff-viewer column full-height`},ae={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},oe={class:`text-body1 text-weight-medium text-grey-3`},se={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},j={class:`text-grey-7`},M={class:`text-green-4`},N={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},P={class:`row col`,style:{"min-height":`0`}},F={class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,"overflow-y":`auto`,"overflow-x":`hidden`,"border-right":`1px solid #2a2a4a`}},I={key:1,class:`text-caption text-grey-8 q-pa-sm`},L=[`onClick`],R={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},z=[`onClick`],B={class:`text-caption text-grey-3 ellipsis`,style:{"font-size":`11px`}},V={class:`col column`,style:{"min-width":`0`,position:`relative`}},H={key:0,class:`col column items-center justify-center`},U={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},W=E(h({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(h,{emit:_}){let v=h,y=_,{t:b}=w(),x=i([]),E=i(``),O=i(``),k=i(null),A=i(!1),W=i(!1),G=i(null),K=i(`side`),q=i(new Set),J=null,Y=null,X=[];function Z(e){let t=0;for(let n of e)n.isDir?t+=Z(n.children):t++;return t}let ce=d(()=>{let e=[];for(let t of x.value){let n=t.path.split(`/`),r=e;for(let e=0;e<n.length;e++){let i=n[e],a=e===n.length-1,o=n.slice(0,e+1).join(`/`),s=r.find(e=>e.name===i&&e.isDir===!a);s||(s={name:i,path:a?t.path:o,isDir:!a,status:a?t.status:void 0,children:[]},r.push(s)),r=s.children}}function t(e){e.sort((e,t)=>e.isDir===t.isDir?e.name.localeCompare(t.name):e.isDir?-1:1);for(let n of e)n.children.length>0&&t(n.children)}return t(e),e}),le=d(()=>{let e=[];function t(n,r){for(let i of n)i.isDir?(e.push({name:i.name,path:i.path,isDir:!0,depth:r,fileCount:Z(i.children)}),q.value.has(i.path)||t(i.children,r+1)):e.push({name:i.name,path:i.path,isDir:!1,depth:r,status:i.status})}return t(ce.value,0),e});function ue(e){q.value.has(e)?q.value.delete(e):q.value.add(e)}async function Q(){A.value=!0;try{let e=await fetch(`/api/workspaces/${v.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();x.value=t.files,E.value=t.sourceBranch??``,O.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{A.value=!1}}async function de(e){if(G.value){W.value=!0;try{J||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},J=await ee(()=>import(`./editor.main-ECxB0MC0.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),J.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${v.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Y){for(let e of X)e.dispose();X=[];let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}let i=J.editor.createModel(n.original??``,r),a=J.editor.createModel(n.modified??``,r);Y=J.editor.createDiffEditor(G.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:K.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Y.setModel({original:i,modified:a}),fe()}catch(e){console.error(`Failed to load file diff:`,e)}finally{W.value=!1}}}let $=i(!1);function fe(){if(!Y)return;for(let e of X)e.dispose();X=[];let e=Y.getModifiedEditor(),t=Y.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});X.push(e)}}function pe(){if(!(!Y||!k.value))for(let e of[Y.getModifiedEditor(),Y.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Y.getModifiedEditor()?`modified`:`original`;y(`sendToChat`,`\`\`\`\n// ${k.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}r(k,e=>{e&&de(e)}),r(K,()=>{Y&&Y.updateOptions({renderSideBySide:K.value===`side`})});function me(e){switch(e){case`added`:return`add_circle`;case`deleted`:return`remove_circle`;case`renamed`:return`drive_file_rename_outline`;default:return`edit`}}function he(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return u(Q),t(()=>{for(let e of X)e.dispose();if(X=[],Y){let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}}),(t,r)=>(n(),f(`div`,ie,[m(`div`,ae,[c(C,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),m(`span`,oe,g(t.$t(`diff.title`)),1),c(D,{label:`${x.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),E.value?(n(),f(`span`,se,[m(`span`,j,g(E.value),1),c(C,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),m(`span`,M,g(O.value),1)])):s(``,!0),k.value?(n(),f(`span`,N,g(k.value),1)):s(``,!0),c(te),c(re,{modelValue:K.value,"onUpdate:modelValue":r[0]||=e=>K.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:t.$t(`diff.side`),value:`side`},{label:t.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),c(S,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:r[1]||=e=>y(`close`)})]),c(ne,{dark:``}),m(`div`,P,[m(`div`,F,[A.value?(n(),o(T,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):x.value.length===0?(n(),f(`div`,I,g(t.$t(`diff.noChanges`)),1)):(n(!0),f(p,{key:2},e(le.value,e=>(n(),f(p,{key:e.path},[e.isDir?(n(),f(`div`,{key:0,class:`diff-dir-item cursor-pointer`,style:a({paddingLeft:`${e.depth*12+4}px`}),onClick:t=>ue(e.path)},[c(C,{name:q.value.has(e.path)?`chevron_right`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),c(C,{name:`folder`,size:`13px`,color:`amber-7`,class:`q-mx-xs`}),m(`span`,R,g(e.name),1),c(D,{label:e.fileCount,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],12,L)):(n(),f(`div`,{key:1,class:l([`diff-file-item cursor-pointer`,{"diff-file-item--active":k.value===e.path}]),style:a({paddingLeft:`${e.depth*12+20}px`}),onClick:t=>k.value=e.path},[c(C,{name:me(e.status),size:`11px`,style:a({color:he(e.status)}),class:`q-mr-xs`},null,8,[`name`,`style`]),m(`span`,B,g(e.name),1)],14,z))],64))),128))]),m(`div`,V,[W.value?(n(),f(`div`,H,[c(T,{size:`32px`,color:`indigo-4`})])):k.value?s(``,!0):(n(),f(`div`,U,g(t.$t(`diff.selectFile`)),1)),m(`div`,{ref_key:`editorContainer`,ref:G,class:`col`,style:{"min-height":`0`}},null,512),$.value?(n(),o(S,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:t.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:pe},null,8,[`label`])):s(``,!0)])])]))}}),[[`__scopeId`,`data-v-7c32abc9`]]);export{W as default};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-D2fZAQLs.js","assets/index-C0u2YcnZ.js","assets/runtime-core.esm-bundler-BLPLlWMG.js","assets/QBtn-D_bkYnrl.js","assets/nodes-Bo-5xQjA.js","assets/index-eX_lKHSg.css","assets/editor.api-qmVdKoc0.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-Rz70-mfd.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{I as e,M as t,P as n,V as r,Z as i,_t as a,d as o,f as s,g as c,gt as l,j as u,l as d,p as f,r as p,u as m,v as h,vt as g,x as _}from"./runtime-core.esm-bundler-BLPLlWMG.js";import{B as v,S as y,b,n as x,t as S,v as C}from"./QBtn-D_bkYnrl.js";import{t as ee}from"./index-C0u2YcnZ.js";import{n as w}from"./vue-i18n-CoZsbeQK.js";import{t as T}from"./QSpinnerDots-Bu0GloxK.js";import{n as te,t as E}from"./_plugin-vue_export-helper-Bo392ayB.js";import{t as D}from"./QBadge-Y5QfSDtm.js";import{i as O,o as k,t as ne}from"./QSeparator-MRAsTeNf.js";var A=v({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=d(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>_(`div`,{class:n.value},y(t.default))}}),re=v({name:`QBtnToggle`,props:{...k,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=d(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=O(d(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),a=d(()=>x(e)),o=d(()=>({rounded:e.rounded,dense:e.dense,...a.value})),s=d(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...s}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...s,...o.value,disable:e.disable===!0||s.disable===!0,color:i===e.modelValue?l(s,`toggleColor`):l(s,`color`),textColor:i===e.modelValue?l(s,`toggleTextColor`):l(s,`textColor`),noCaps:l(s,`noCaps`)===!0,noWrap:l(s,`noWrap`)===!0,size:l(s,`size`),padding:l(s,`padding`),ripple:l(s,`ripple`),stack:l(s,`stack`)===!0,stretch:l(s,`stretch`)===!0,onClick(e){c(i,t,e)}}}}));function c(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function l(t,n){return t[n]===void 0?e[n]:t[n]}function u(){let n=s.value.map(e=>_(S,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),b(t.default,n)}return()=>_(A,{class:`q-btn-toggle`,...a.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},u)}}),ie={class:`diff-viewer column full-height`},ae={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},oe={class:`text-body1 text-weight-medium text-grey-3`},se={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},j={class:`text-grey-7`},M={class:`text-green-4`},N={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},P={class:`row col`,style:{"min-height":`0`}},F={class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,"overflow-y":`auto`,"overflow-x":`hidden`,"border-right":`1px solid #2a2a4a`}},I={key:1,class:`text-caption text-grey-8 q-pa-sm`},L=[`onClick`],R={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},z=[`onClick`],B={class:`text-caption text-grey-3 ellipsis`,style:{"font-size":`11px`}},V={class:`col column`,style:{"min-width":`0`,position:`relative`}},H={key:0,class:`col column items-center justify-center`},U={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},W=E(h({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(h,{emit:_}){let v=h,y=_,{t:b}=w(),x=i([]),E=i(``),O=i(``),k=i(null),A=i(!1),W=i(!1),G=i(null),K=i(`side`),q=i(new Set),J=null,Y=null,X=[];function Z(e){let t=0;for(let n of e)n.isDir?t+=Z(n.children):t++;return t}let ce=d(()=>{let e=[];for(let t of x.value){let n=t.path.split(`/`),r=e;for(let e=0;e<n.length;e++){let i=n[e],a=e===n.length-1,o=n.slice(0,e+1).join(`/`),s=r.find(e=>e.name===i&&e.isDir===!a);s||(s={name:i,path:a?t.path:o,isDir:!a,status:a?t.status:void 0,children:[]},r.push(s)),r=s.children}}function t(e){e.sort((e,t)=>e.isDir===t.isDir?e.name.localeCompare(t.name):e.isDir?-1:1);for(let n of e)n.children.length>0&&t(n.children)}return t(e),e}),le=d(()=>{let e=[];function t(n,r){for(let i of n)i.isDir?(e.push({name:i.name,path:i.path,isDir:!0,depth:r,fileCount:Z(i.children)}),q.value.has(i.path)||t(i.children,r+1)):e.push({name:i.name,path:i.path,isDir:!1,depth:r,status:i.status})}return t(ce.value,0),e});function ue(e){q.value.has(e)?q.value.delete(e):q.value.add(e)}async function Q(){A.value=!0;try{let e=await fetch(`/api/workspaces/${v.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();x.value=t.files,E.value=t.sourceBranch??``,O.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{A.value=!1}}async function de(e){if(G.value){W.value=!0;try{J||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},J=await ee(()=>import(`./editor.main-D2fZAQLs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),J.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${v.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Y){for(let e of X)e.dispose();X=[];let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}let i=J.editor.createModel(n.original??``,r),a=J.editor.createModel(n.modified??``,r);Y=J.editor.createDiffEditor(G.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:K.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Y.setModel({original:i,modified:a}),fe()}catch(e){console.error(`Failed to load file diff:`,e)}finally{W.value=!1}}}let $=i(!1);function fe(){if(!Y)return;for(let e of X)e.dispose();X=[];let e=Y.getModifiedEditor(),t=Y.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});X.push(e)}}function pe(){if(!(!Y||!k.value))for(let e of[Y.getModifiedEditor(),Y.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Y.getModifiedEditor()?`modified`:`original`;y(`sendToChat`,`\`\`\`\n// ${k.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}r(k,e=>{e&&de(e)}),r(K,()=>{Y&&Y.updateOptions({renderSideBySide:K.value===`side`})});function me(e){switch(e){case`added`:return`add_circle`;case`deleted`:return`remove_circle`;case`renamed`:return`drive_file_rename_outline`;default:return`edit`}}function he(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return u(Q),t(()=>{for(let e of X)e.dispose();if(X=[],Y){let e=Y.getModel();Y.dispose(),Y=null,e?.original?.dispose(),e?.modified?.dispose()}}),(t,r)=>(n(),f(`div`,ie,[m(`div`,ae,[c(C,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),m(`span`,oe,g(t.$t(`diff.title`)),1),c(D,{label:`${x.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),E.value?(n(),f(`span`,se,[m(`span`,j,g(E.value),1),c(C,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),m(`span`,M,g(O.value),1)])):s(``,!0),k.value?(n(),f(`span`,N,g(k.value),1)):s(``,!0),c(te),c(re,{modelValue:K.value,"onUpdate:modelValue":r[0]||=e=>K.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:t.$t(`diff.side`),value:`side`},{label:t.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),c(S,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:r[1]||=e=>y(`close`)})]),c(ne,{dark:``}),m(`div`,P,[m(`div`,F,[A.value?(n(),o(T,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):x.value.length===0?(n(),f(`div`,I,g(t.$t(`diff.noChanges`)),1)):(n(!0),f(p,{key:2},e(le.value,e=>(n(),f(p,{key:e.path},[e.isDir?(n(),f(`div`,{key:0,class:`diff-dir-item cursor-pointer`,style:a({paddingLeft:`${e.depth*12+4}px`}),onClick:t=>ue(e.path)},[c(C,{name:q.value.has(e.path)?`chevron_right`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),c(C,{name:`folder`,size:`13px`,color:`amber-7`,class:`q-mx-xs`}),m(`span`,R,g(e.name),1),c(D,{label:e.fileCount,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],12,L)):(n(),f(`div`,{key:1,class:l([`diff-file-item cursor-pointer`,{"diff-file-item--active":k.value===e.path}]),style:a({paddingLeft:`${e.depth*12+20}px`}),onClick:t=>k.value=e.path},[c(C,{name:me(e.status),size:`11px`,style:a({color:he(e.status)}),class:`q-mr-xs`},null,8,[`name`,`style`]),m(`span`,B,g(e.name),1)],14,z))],64))),128))]),m(`div`,V,[W.value?(n(),f(`div`,H,[c(T,{size:`32px`,color:`indigo-4`})])):k.value?s(``,!0):(n(),f(`div`,U,g(t.$t(`diff.selectFile`)),1)),m(`div`,{ref_key:`editorContainer`,ref:G,class:`col`,style:{"min-height":`0`}},null,512),$.value?(n(),o(S,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:t.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:pe},null,8,[`label`])):s(``,!0)])])]))}}),[[`__scopeId`,`data-v-7c32abc9`]]);export{W as default};
|