@pixelzx/genesis 2026.6.22 → 2026.6.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/.buildstamp +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-startup-metadata.json +1 -1
- package/dist/{command-registry-DPhQ-gYY.js → command-registry-9isdLVPT.js} +2 -2
- package/dist/{command-registry-DtvwURJ_.js → command-registry-Cz7IG6fj.js} +2 -2
- package/dist/{command-registry-core-DllgASdD.js → command-registry-core-YTbOUvAw.js} +2 -2
- package/dist/{completion-cli-CMRi4kQZ.js → completion-cli-56xGCg11.js} +2 -2
- package/dist/{config-cli-ByTCIigq.js → config-cli-D4puIeCQ.js} +1 -1
- package/dist/control-ui/assets/{agents-QDr5B3Ho.js → agents-JV9Lrpaq.js} +144 -144
- package/dist/control-ui/assets/{canvas-DcQV5mjQ.js → canvas-BGheLorj.js} +44 -44
- package/dist/control-ui/assets/channel-config-extras-BlcntHgk.js +2 -0
- package/dist/control-ui/assets/channels-D_T7jf1i.js +196 -0
- package/dist/control-ui/assets/cron-C-vhYdn2.js +250 -0
- package/dist/control-ui/assets/{debug-BjvJPprv.js → debug-C_P-kmLV.js} +2 -2
- package/dist/control-ui/assets/{index-BTDvMe6P.css → index-CtXQ8kx6.css} +1 -1
- package/dist/control-ui/assets/{index-Chv-rDKB.js → index-or46Cf5v.js} +5 -5
- package/dist/control-ui/assets/{instances-M2ru9deN.js → instances-B2yScyQI.js} +2 -2
- package/dist/control-ui/assets/{logs-l_Xtj11_.js → logs-BiUk-w3p.js} +1 -1
- package/dist/control-ui/assets/{mcp-CCow5u67.js → mcp-Cvo6FOST.js} +2 -2
- package/dist/control-ui/assets/{memory-DEvlXa9C.js → memory-EzZxvhx5.js} +2 -2
- package/dist/control-ui/assets/{models-Tc34Yl09.js → models-CHjUP5zU.js} +2 -2
- package/dist/control-ui/assets/{nodes-CHIr0hLe.js → nodes-CINI4_nb.js} +13 -13
- package/dist/control-ui/assets/{plugins-CRSFM6pi.js → plugins-x9HNTykY.js} +23 -23
- package/dist/control-ui/assets/presenter-DwZ-RSJ8.js +2 -0
- package/dist/control-ui/assets/{preview-DP8t6eAW.js → preview-yS9kUAt_.js} +1 -1
- package/dist/control-ui/assets/{sessions-Xg8c67jk.js → sessions-DnMfNBmX.js} +2 -2
- package/dist/control-ui/assets/{skills-CB5pgqaj.js → skills-B7wdMvcb.js} +8 -8
- package/dist/control-ui/assets/{skills-shared-DoedL_zw.js → skills-shared-C4nHDuFm.js} +1 -1
- package/dist/control-ui/assets/{wallet-C_ySxHYg.js → wallet-Ds1hW8CM.js} +2 -2
- package/dist/control-ui/index.html +2 -2
- package/dist/entry.js +1 -1
- package/dist/extensions/skill-workshop/genesis.plugin.json +2 -1
- package/dist/extensions/skill-workshop/index.js +1 -1
- package/dist/{gateway-cli-BNFp7cLD.js → gateway-cli-CeEdXZHU.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/postinstall-inventory.json +37 -36
- package/dist/{program-C3s7d86C.js → program-0N-JnVM6.js} +1 -1
- package/dist/{register.subclis-ClL1mC0C.js → register.subclis-D0ogazCL.js} +2 -2
- package/dist/{register.subclis-C2UfM0nV.js → register.subclis-DPK0ga6y.js} +1 -1
- package/dist/{register.subclis-core-x3Cm5RAM.js → register.subclis-core-DIGnTWFD.js} +1 -1
- package/dist/{run-main-Cg3U0WGv.js → run-main-kPIaMJwz.js} +4 -4
- package/dist/{runtime-schema-m8uk8t3n.js → runtime-schema-CFPgELGN.js} +1 -1
- package/dist/{server-Cdq-naBB.js → server-HNGA0Ig0.js} +1 -1
- package/dist/{server-plugin-bootstrap-DQo6bnks.js → server-plugin-bootstrap-BXJURCLA.js} +1 -1
- package/dist/{server-plugin-bootstrap-CM8EErso.js → server-plugin-bootstrap-CNJ_xwIU.js} +1 -1
- package/dist/{server.impl-CZEASk_e.js → server.impl-DuIzmQsq.js} +2 -2
- package/package.json +1 -1
- package/dist/control-ui/assets/channels-DTjwzddp.js +0 -140
- package/dist/control-ui/assets/cron-BL9vNTgH.js +0 -78
- package/dist/control-ui/assets/presenter-DQKXVTz4.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./string-coerce-LCfkQHEZ.js";import{C as a,D as o,
|
|
1
|
+
import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./string-coerce-LCfkQHEZ.js";import{C as a,D as o,E as s,P as c,S as l,T as u,_ as d,b as f,c as p,g as m,h as ee,k as h,l as g,m as _,p as v,s as y,v as te,w as ne,x as b,y as re}from"./index-or46Cf5v.js";import{a as x,n as S,r as C,t as w}from"./presenter-DwZ-RSJ8.js";import{r as T}from"./channel-config-extras-BlcntHgk.js";import{n as E,r as D,t as ie}from"./skills-shared-C4nHDuFm.js";function O(e){let{agent:i,configForm:o,agentFilesList:s,configLoading:c,configSaving:u,configDirty:d,onConfigReload:p,onConfigSave:m,onModelChange:ee,onModelFallbacksChange:h,onSelectPanel:g}=e,v=f(o,i.id),y=i.model,ne=(s&&s.agentId===i.id?s.workspace:null)||v.entry?.workspace||v.defaults?.workspace||i.workspace||`default`,x=v.entry?.model?l(v.entry?.model):v.defaults?.model?l(v.defaults?.model):l(y),S=l(v.defaults?.model??y),C=a(v.entry?.model),w=a(v.defaults?.model)||(S===`-`?null:te(S))||(o?null:a(y)),T=C??w??null,E=b(v.entry?.model)??b(v.defaults?.model)??(o?null:b(y))??[],D=Array.isArray(v.entry?.skills)?v.entry?.skills:null,ie=D?.length??null,O=!!(e.defaultId&&i.id===e.defaultId),k=!o||c||u,oe=e=>{let t=E.filter((t,n)=>n!==e);h(i.id,t)};return t`
|
|
2
2
|
<section class="card">
|
|
3
3
|
<div class="card-title">Overview</div>
|
|
4
4
|
<div class="card-sub">Workspace paths and identity metadata.</div>
|
|
@@ -10,24 +10,24 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
10
10
|
<button
|
|
11
11
|
type="button"
|
|
12
12
|
class="workspace-link mono"
|
|
13
|
-
@click=${()=>
|
|
13
|
+
@click=${()=>g(`files`)}
|
|
14
14
|
title="Open Files tab"
|
|
15
15
|
>
|
|
16
|
-
${
|
|
16
|
+
${ne}
|
|
17
17
|
</button>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="agent-kv">
|
|
21
21
|
<div class="label">Primary Model</div>
|
|
22
|
-
<div class="mono">${
|
|
22
|
+
<div class="mono">${x}</div>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="agent-kv">
|
|
25
25
|
<div class="label">Skills Filter</div>
|
|
26
|
-
<div>${
|
|
26
|
+
<div>${D?`${ie} selected`:`all skills`}</div>
|
|
27
27
|
</div>
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
|
-
${
|
|
30
|
+
${d?t`
|
|
31
31
|
<div class="callout warn" style="margin-top: 16px">
|
|
32
32
|
You have unsaved config changes.
|
|
33
33
|
</div>
|
|
@@ -37,18 +37,18 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
37
37
|
<div class="label">Model Selection</div>
|
|
38
38
|
<div class="agent-model-fields">
|
|
39
39
|
<label class="field">
|
|
40
|
-
<span>Primary model${
|
|
40
|
+
<span>Primary model${O?` (default)`:``}</span>
|
|
41
41
|
<select
|
|
42
|
-
.value=${
|
|
43
|
-
?disabled=${
|
|
44
|
-
@change=${e=>
|
|
42
|
+
.value=${O?T??``:C??``}
|
|
43
|
+
?disabled=${k}
|
|
44
|
+
@change=${e=>ee(i.id,e.target.value||null)}
|
|
45
45
|
>
|
|
46
|
-
${
|
|
46
|
+
${O?t` <option value="">Not set</option> `:t`
|
|
47
47
|
<option value="">
|
|
48
|
-
${
|
|
48
|
+
${w?`Inherit default (${w})`:`Inherit default`}
|
|
49
49
|
</option>
|
|
50
50
|
`}
|
|
51
|
-
${
|
|
51
|
+
${_(o,T??void 0,e.modelCatalog)}
|
|
52
52
|
</select>
|
|
53
53
|
</label>
|
|
54
54
|
<div class="field">
|
|
@@ -57,24 +57,24 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
57
57
|
class="agent-chip-input"
|
|
58
58
|
@click=${e=>{let t=e.currentTarget.querySelector(`input`);t&&t.focus()}}
|
|
59
59
|
>
|
|
60
|
-
${
|
|
60
|
+
${E.map((e,n)=>t`
|
|
61
61
|
<span class="chip">
|
|
62
62
|
${e}
|
|
63
63
|
<button
|
|
64
64
|
type="button"
|
|
65
65
|
class="chip-remove"
|
|
66
|
-
?disabled=${
|
|
67
|
-
@click=${()=>
|
|
66
|
+
?disabled=${k}
|
|
67
|
+
@click=${()=>oe(n)}
|
|
68
68
|
>
|
|
69
69
|
×
|
|
70
70
|
</button>
|
|
71
71
|
</span>
|
|
72
72
|
`)}
|
|
73
73
|
<input
|
|
74
|
-
?disabled=${
|
|
75
|
-
placeholder=${
|
|
76
|
-
@keydown=${e=>{let t=e.target;if(e.key===`Enter`||e.key===`,`){e.preventDefault();let n=
|
|
77
|
-
@blur=${e=>{let t=e.target,n=
|
|
74
|
+
?disabled=${k}
|
|
75
|
+
placeholder=${E.length===0?`provider/model`:``}
|
|
76
|
+
@keydown=${e=>{let t=e.target;if(e.key===`Enter`||e.key===`,`){e.preventDefault();let n=re(t.value);n.length>0&&(h(i.id,[...E,...n]),t.value=``)}}}
|
|
77
|
+
@blur=${e=>{let t=e.target,n=re(t.value);n.length>0&&(h(i.id,[...E,...n]),t.value=``)}}
|
|
78
78
|
/>
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
@@ -91,24 +91,24 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
91
91
|
<button
|
|
92
92
|
type="button"
|
|
93
93
|
class="btn btn--sm"
|
|
94
|
-
?disabled=${
|
|
95
|
-
@click=${
|
|
94
|
+
?disabled=${c}
|
|
95
|
+
@click=${p}
|
|
96
96
|
>
|
|
97
97
|
${r(`common.reloadConfig`)}
|
|
98
98
|
</button>
|
|
99
99
|
<button
|
|
100
100
|
type="button"
|
|
101
101
|
class="btn btn--sm primary"
|
|
102
|
-
?disabled=${
|
|
103
|
-
@click=${
|
|
102
|
+
?disabled=${u||!d}
|
|
103
|
+
@click=${m}
|
|
104
104
|
>
|
|
105
|
-
${
|
|
105
|
+
${u?`Saving…`:`Save`}
|
|
106
106
|
</button>
|
|
107
107
|
</div>
|
|
108
108
|
</div>
|
|
109
109
|
</section>
|
|
110
|
-
${
|
|
111
|
-
`}function
|
|
110
|
+
${ae(e)}
|
|
111
|
+
`}function ae(e){let i=e.modelProviderWizardStep,a=!!(e.modelProviderWizardError||e.modelProviderWizardMessage);if(!i&&!e.modelProviderWizardBusy&&!a)return n;let o=i?.title||(e.modelProviderWizardError?`Model provider setup failed`:e.modelProviderWizardMessage?`Model provider connected`:`Connect model provider`),s=i?.message??e.modelProviderWizardError??e.modelProviderWizardMessage??``,c=!!i&&!e.modelProviderWizardBusy;return t`
|
|
112
112
|
<div class="exec-approval-overlay" role="dialog" aria-modal="true" aria-live="polite">
|
|
113
113
|
<div class="exec-approval-card channel-wizard-card">
|
|
114
114
|
<div class="exec-approval-header">
|
|
@@ -118,7 +118,7 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
120
|
${s?t`<div class="channel-wizard-message">${k(s)}</div>`:n}
|
|
121
|
-
${i?
|
|
121
|
+
${i?se(e,i):n}
|
|
122
122
|
${e.modelProviderWizardError?t`<div class="exec-approval-error">${e.modelProviderWizardError}</div>`:n}
|
|
123
123
|
<div class="exec-approval-actions">
|
|
124
124
|
${i?t`
|
|
@@ -149,11 +149,11 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
149
149
|
</div>
|
|
150
150
|
</div>
|
|
151
151
|
`}function k(e){return e.split(`
|
|
152
|
-
`).map(e=>e.trimEnd()).map((e,r)=>t`${r>0?t`<br />`:n}${e}`)}function
|
|
152
|
+
`).map(e=>e.trimEnd()).map((e,r)=>t`${r>0?t`<br />`:n}${e}`)}function oe(e){if(typeof e==`string`)return`string:${e}`;try{return`json:${JSON.stringify(e)}`}catch{return String(e)}}function A(e,t){return oe(e)===oe(t)}function se(e,i){if(i.type===`select`)return t`
|
|
153
153
|
<div class="channel-wizard-options">
|
|
154
154
|
${(i.options??[]).map(r=>t`
|
|
155
155
|
<button
|
|
156
|
-
class=${
|
|
156
|
+
class=${A(e.modelProviderWizardInput,r.value)?`channel-wizard-option selected`:`channel-wizard-option`}
|
|
157
157
|
?disabled=${e.modelProviderWizardBusy}
|
|
158
158
|
@click=${()=>e.onModelProviderWizardInput(r.value)}
|
|
159
159
|
>
|
|
@@ -164,7 +164,7 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
164
164
|
</div>
|
|
165
165
|
`;if(i.type===`multiselect`){let r=Array.isArray(e.modelProviderWizardInput)?e.modelProviderWizardInput:[];return t`
|
|
166
166
|
<div class="channel-wizard-options">
|
|
167
|
-
${(i.options??[]).map(i=>{let a=r.some(e=>
|
|
167
|
+
${(i.options??[]).map(i=>{let a=r.some(e=>A(e,i.value)),o=a?r.filter(e=>!A(e,i.value)):[...r,i.value];return t`
|
|
168
168
|
<button
|
|
169
169
|
class=${a?`channel-wizard-option selected`:`channel-wizard-option`}
|
|
170
170
|
?disabled=${e.modelProviderWizardBusy}
|
|
@@ -202,30 +202,30 @@ import{a as e,d as t,l as n,r}from"./i18n-DLwqUqi0.js";import{t as i}from"./stri
|
|
|
202
202
|
?disabled=${e.modelProviderWizardBusy}
|
|
203
203
|
@input=${t=>e.onModelProviderWizardInput(t.currentTarget.value)}
|
|
204
204
|
/>
|
|
205
|
-
`}return n}var
|
|
206
|
-
`)}</div>`;return a=
|
|
207
|
-
${e.children.map(e=>`<li>${
|
|
205
|
+
`}return n}var ce=Object.defineProperty,le=(e,t,n)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j=(e,t,n)=>le(e,typeof t==`symbol`?t:t+``,n),ue={classPrefix:`cm-`,theme:`github`,linkTarget:`_blank`,sanitize:!1,plugins:[],customRenderers:{}};function de(e){return{...ue,...e,plugins:e?.plugins??[],customRenderers:e?.customRenderers??{}}}function fe(e,t){return typeof t==`function`?t(e):e}function pe(e,t){let n=de(t),r=n.classPrefix,i=e;for(let e of n.plugins)e.transformBlock&&(i=i.map(e.transformBlock));let a=`<div class="${r}preview">${i.map(e=>{for(let t of n.plugins)if(t.renderBlock){let r=t.renderBlock(e,()=>he(e,n));if(r!==null)return r}let t=n.customRenderers[e.type];return t?t(e):he(e,n)}).join(`
|
|
206
|
+
`)}</div>`;return a=fe(a,n.sanitize),a}async function me(e,t){let n=de(t);for(let e of n.plugins)e.init&&await e.init();let r=pe(e,t);for(let e of n.plugins)e.postProcess&&(r=await e.postProcess(r));return r}function he(e,t){let n=t.classPrefix;switch(e.type){case`paragraph`:return`<p class="${n}paragraph">${M(e.content,t)}</p>`;case`heading`:return ge(e,t);case`bulletList`:return _e(e,t);case`numberedList`:return ve(e,t);case`checkList`:return ye(e,t);case`codeBlock`:return be(e,t);case`blockquote`:return`<blockquote class="${n}blockquote">${M(e.content,t)}</blockquote>`;case`table`:return xe(e,t);case`image`:return Se(e,t);case`divider`:return`<hr class="${n}divider" />`;case`callout`:return Ce(e,t);default:return`<div class="${n}unknown">${M(e.content,t)}</div>`}}function ge(e,t){let n=t.classPrefix,r=e.props.level,i=`h${r}`;return`<${i} class="${n}heading ${n}h${r}">${M(e.content,t)}</${i}>`}function _e(e,t){return`<ul class="${t.classPrefix}bullet-list">
|
|
207
|
+
${e.children.map(e=>`<li>${M(e.content,t)}</li>`).join(`
|
|
208
208
|
`)}
|
|
209
|
-
</ul>`}function
|
|
210
|
-
${e.children.map(e=>`<li>${
|
|
209
|
+
</ul>`}function ve(e,t){return`<ol class="${t.classPrefix}numbered-list">
|
|
210
|
+
${e.children.map(e=>`<li>${M(e.content,t)}</li>`).join(`
|
|
211
211
|
`)}
|
|
212
|
-
</ol>`}function
|
|
212
|
+
</ol>`}function ye(e,t){let n=t.classPrefix,r=e.props.checked;return`
|
|
213
213
|
<div class="${n}checklist-item">
|
|
214
214
|
<input type="checkbox" ${r?`checked disabled`:`disabled`} />
|
|
215
|
-
<span class="${r?`${n}checked`:``}">${
|
|
216
|
-
</div>`.trim()}function
|
|
217
|
-
${r.length>0?`<thead><tr>${r.map((e,t)=>`<th${o(t)}>${
|
|
215
|
+
<span class="${r?`${n}checked`:``}">${M(e.content,t)}</span>
|
|
216
|
+
</div>`.trim()}function be(e,t){let n=t.classPrefix,r=e.content.map(e=>e.text).join(``),i=e.props.language||``,a=N(r),o=i?` language-${i}`:``;return`<pre class="${n}code-block"${i?` data-language="${i}"`:``}><code class="${n}code${o}">${a}</code></pre>`}function xe(e,t){let n=t.classPrefix,{headers:r,rows:i,alignments:a}=e.props,o=e=>{let t=a?.[e];return t?` style="text-align: ${t}"`:``};return`<table class="${n}table">
|
|
217
|
+
${r.length>0?`<thead><tr>${r.map((e,t)=>`<th${o(t)}>${N(e)}</th>`).join(``)}</tr></thead>`:``}
|
|
218
218
|
<tbody>
|
|
219
|
-
${i.map(e=>`<tr>${e.map((e,t)=>`<td${o(t)}>${
|
|
219
|
+
${i.map(e=>`<tr>${e.map((e,t)=>`<td${o(t)}>${N(e)}</td>`).join(``)}</tr>`).join(`
|
|
220
220
|
`)}
|
|
221
221
|
</tbody>
|
|
222
|
-
</table>`}function
|
|
222
|
+
</table>`}function Se(e,t){let n=t.classPrefix,{url:r,alt:i,title:a,width:o,height:s}=e.props,c=i?` alt="${N(i)}"`:` alt=""`,l=a?` title="${N(a)}"`:``,u=o?` width="${o}"`:``,d=s?` height="${s}"`:``;return`<figure class="${n}image">${`<img src="${N(r)}"${c}${l}${u}${d} />`}${i?`<figcaption>${N(i)}</figcaption>`:``}</figure>`}function Ce(e,t){let n=t.classPrefix,r=e.props.type;return`
|
|
223
223
|
<div class="${n}callout ${n}callout-${r}" role="alert">
|
|
224
224
|
<strong class="${n}callout-title">${r}</strong>
|
|
225
|
-
<div class="${n}callout-content">${
|
|
226
|
-
</div>`.trim()}function
|
|
225
|
+
<div class="${n}callout-content">${M(e.content,t)}</div>
|
|
226
|
+
</div>`.trim()}function M(e,t){return e.map(e=>we(e,t)).join(``)}function we(e,t){let n=N(e.text),r=e.styles;if(r.code&&(n=`<code>${n}</code>`),r.highlight&&(n=`<mark>${n}</mark>`),r.strikethrough&&(n=`<del>${n}</del>`),r.underline&&(n=`<u>${n}</u>`),r.italic&&(n=`<em>${n}</em>`),r.bold&&(n=`<strong>${n}</strong>`),r.link){let e=t.linkTarget===`_blank`?` target="_blank" rel="noopener noreferrer"`:``,i=r.link.title?` title="${N(r.link.title)}"`:``;n=`<a href="${N(r.link.url)}"${i}${e}>${n}</a>`}return n}function N(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function Te(e){return[...[1,2,3,4,5,6].map(t=>({tag:`h${t}`,classes:[`${e}heading`,`${e}h${t}`]})),{tag:`p`,classes:[`${e}paragraph`]},{tag:`ul`,classes:[`${e}bullet-list`]},{tag:`ol`,classes:[`${e}numbered-list`]},{tag:`pre`,classes:[`${e}code-block`]},{tag:`blockquote`,classes:[`${e}blockquote`]},{tag:`hr`,classes:[`${e}divider`]},{tag:`table`,classes:[`${e}table`]},{tag:`figure`,classes:[`${e}image`]}]}function Ee(e,t){let n=t.join(` `),r=/\bclass\s*=\s*"([^"]*)"/i,i=e.match(r);return i?e.replace(r,`class="${n} ${i[1]}"`):e.endsWith(`/>`)?e.slice(0,-2)+` class="${n}" />`:e.slice(0,-1)+` class="${n}">`}function De(e,t){return e.replace(/(?<!<figure[^>]*>\s*)(<img\s[^>]*\/?>)(?!\s*<\/figure>)/gi,`<figure class="${t}image">$1</figure>`)}function Oe(e,t){let n=t?.classPrefix??`cm-`,r=t?.wrapperClass??`${n}preview`,i=Te(n),a=e;for(let{tag:e,classes:t}of i){let n=RegExp(`<${e}(\\s[^>]*)?>|<${e}\\s*\\/?>`,`gi`);a=a.replace(n,e=>Ee(e,t))}return a=De(a,n),a=`<div class="${r}">${a}</div>`,typeof t?.sanitize==`function`&&(a=t.sanitize(a)),a}async function ke(t){try{return(await e(()=>import(`./preview-yS9kUAt_.js`),[],import.meta.url)).parse(t)}catch{throw Error(`@create-markdown/core is required to parse markdown in <markdown-preview>. Install it, or provide pre-parsed blocks via the blocks attribute / setBlocks().`)}}j(class extends HTMLElement{constructor(){super(),j(this,`_shadow`,null),j(this,`plugins`,[]),j(this,`defaultTheme`,`github`),j(this,`styleElement`),j(this,`contentElement`);let e=this.constructor._shadowMode;e!==`none`&&(this._shadow=this.attachShadow({mode:e})),this.styleElement=document.createElement(`style`),this.renderRoot.appendChild(this.styleElement),this.contentElement=document.createElement(`div`),this.contentElement.className=`markdown-preview-content`,this.renderRoot.appendChild(this.contentElement),this.updateStyles()}static get observedAttributes(){return[`theme`,`link-target`,`async`]}get renderRoot(){return this._shadow??this}connectedCallback(){this.render()}attributeChangedCallback(e,t,n){this.render()}setPlugins(e){this.plugins=e,this.render()}setDefaultTheme(e){this.defaultTheme=e,this.render()}getMarkdown(){let e=this.getAttribute(`blocks`);if(e)try{return JSON.parse(e).map(e=>e.content.map(e=>e.text).join(``)).join(`
|
|
227
227
|
|
|
228
|
-
`)}catch{return``}return this.textContent||``}setMarkdown(e){this.textContent=e,this.render()}setBlocks(e){this.setAttribute(`blocks`,JSON.stringify(e)),this.render()}getOptions(){return{theme:this.getAttribute(`theme`)||this.defaultTheme,linkTarget:this.getAttribute(`link-target`)||`_blank`,plugins:this.plugins}}async getBlocks(){let e=this.getAttribute(`blocks`);if(e)try{return JSON.parse(e)}catch{return console.warn(`Invalid blocks JSON in markdown-preview element`),[]}return
|
|
228
|
+
`)}catch{return``}return this.textContent||``}setMarkdown(e){this.textContent=e,this.render()}setBlocks(e){this.setAttribute(`blocks`,JSON.stringify(e)),this.render()}getOptions(){return{theme:this.getAttribute(`theme`)||this.defaultTheme,linkTarget:this.getAttribute(`link-target`)||`_blank`,plugins:this.plugins}}async getBlocks(){let e=this.getAttribute(`blocks`);if(e)try{return JSON.parse(e)}catch{return console.warn(`Invalid blocks JSON in markdown-preview element`),[]}return ke(this.textContent||``)}async render(){let e=await this.getBlocks(),t=this.getOptions(),n=this.hasAttribute(`async`)||this.plugins.length>0;try{let r;r=n?await me(e,t):pe(e,t),this.contentElement.innerHTML=r}catch(e){console.error(`Error rendering markdown preview:`,e),this.contentElement.innerHTML=`<div class="error">Error rendering content</div>`}}updateStyles(){let e=this.plugins.filter(e=>e.getCSS).map(e=>e.getCSS()).join(`
|
|
229
229
|
|
|
230
230
|
`),t=this._shadow?`:host { display: block; }`:`markdown-preview { display: block; }`;this.styleElement.textContent=`
|
|
231
231
|
${t}
|
|
@@ -244,14 +244,14 @@ ${t}
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
${e}
|
|
247
|
-
`.trim()}},`_shadowMode`,`open`);function
|
|
248
|
-
]`).replace(`lheading`,
|
|
249
|
-
`),n=t.length-1;for(;n>=0&&
|
|
250
|
-
`)}function
|
|
247
|
+
`.trim()}},`_shadowMode`,`open`);function Ae(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var P=Ae();function je(e){P=e}var F={exec:()=>null};function I(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(L.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Me=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),L={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)}}>`)},Ne=/^(?:[ \t]*(?:\n|$))+/,Pe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Fe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,R=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ie=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Le=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Re=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ze=I(Re).replace(/bull/g,Le).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(),Be=I(Re).replace(/bull/g,Le).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(),Ve=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,He=/^[^\n]+/,Ue=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,We=I(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,Ue).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ge=I(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Le).getRegex(),z=`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`,Ke=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,qe=I(`^ {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`,Ke).replace(`tag`,z).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Je=I(Ve).replace(`hr`,R).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`,z).getRegex(),Ye={blockquote:I(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Je).getRegex(),code:Pe,def:We,fences:Fe,heading:Ie,hr:R,html:qe,lheading:ze,list:Ge,newline:Ne,paragraph:Je,table:F,text:He},Xe=I(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,R).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`,z).getRegex(),Ze={...Ye,lheading:Be,table:Xe,paragraph:I(Ve).replace(`hr`,R).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Xe).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`,z).getRegex()},Qe={...Ye,html:I(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,Ke).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:F,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:I(Ve).replace(`hr`,R).replace(`heading`,` *#{1,6} *[^
|
|
248
|
+
]`).replace(`lheading`,ze).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},$e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,et=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,tt=/^( {2,}|\\)\n(?!\s*$)/,nt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,B=/[\p{P}\p{S}]/u,V=/[\s\p{P}\p{S}]/u,rt=/[^\s\p{P}\p{S}]/u,it=I(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,V).getRegex(),at=/(?!~)[\p{P}\p{S}]/u,ot=/(?!~)[\s\p{P}\p{S}]/u,st=/(?:[^\s\p{P}\p{S}]|~)/u,ct=I(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,Me?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),lt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,ut=I(lt,`u`).replace(/punct/g,B).getRegex(),dt=I(lt,`u`).replace(/punct/g,at).getRegex(),ft=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,pt=I(ft,`gu`).replace(/notPunctSpace/g,rt).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),mt=I(ft,`gu`).replace(/notPunctSpace/g,st).replace(/punctSpace/g,ot).replace(/punct/g,at).getRegex(),ht=I(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,rt).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),gt=I(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,B).getRegex(),_t=I(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,rt).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),vt=I(/\\(punct)/,`gu`).replace(/punct/g,B).getRegex(),yt=I(/^<(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(),bt=I(Ke).replace(`(?:-->|$)`,`-->`).getRegex(),xt=I(`^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`,bt).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),H=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,St=I(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,H).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ct=I(/^!?\[(label)\]\[(ref)\]/).replace(`label`,H).replace(`ref`,Ue).getRegex(),wt=I(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,Ue).getRegex(),Tt=I(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Ct).replace(`nolink`,wt).getRegex(),Et=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Dt={_backpedal:F,anyPunctuation:vt,autolink:yt,blockSkip:ct,br:tt,code:et,del:F,delLDelim:F,delRDelim:F,emStrongLDelim:ut,emStrongRDelimAst:pt,emStrongRDelimUnd:ht,escape:$e,link:St,nolink:wt,punctuation:it,reflink:Ct,reflinkSearch:Tt,tag:xt,text:nt,url:F},Ot={...Dt,link:I(/^!?\[(label)\]\((.*?)\)/).replace(`label`,H).getRegex(),reflink:I(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,H).getRegex()},kt={...Dt,emStrongRDelimAst:mt,emStrongLDelim:dt,delLDelim:gt,delRDelim:_t,url:I(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Et).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:I(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Et).getRegex()},At={...kt,br:I(tt).replace(`{2,}`,`*`).getRegex(),text:I(kt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},jt={normal:Ye,gfm:Ze,pedantic:Qe},U={normal:Dt,gfm:kt,breaks:At,pedantic:Ot},Mt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Nt=e=>Mt[e];function W(e,t){if(t){if(L.escapeTest.test(e))return e.replace(L.escapeReplace,Nt)}else if(L.escapeTestNoEncode.test(e))return e.replace(L.escapeReplaceNoEncode,Nt);return e}function Pt(e){try{e=encodeURI(e).replace(L.percentDecode,`%`)}catch{return null}return e}function Ft(e,t){let n=e.replace(L.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(L.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(L.slashPipe,`|`);return n}function G(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 It(e){let t=e.split(`
|
|
249
|
+
`),n=t.length-1;for(;n>=0&&L.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
250
|
+
`)}function Lt(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 Rt(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 zt(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 Bt(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
251
251
|
`).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(`
|
|
252
|
-
`)}var
|
|
253
|
-
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:
|
|
254
|
-
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=
|
|
252
|
+
`)}var K=class{options;rules;lexer;constructor(e){this.options=e||P}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:It(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Bt(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=G(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:G(t[0],`
|
|
253
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:G(t[0],`
|
|
254
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=G(t[0],`
|
|
255
255
|
`).split(`
|
|
256
256
|
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
257
257
|
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -262,20 +262,20 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
262
262
|
`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
|
|
263
263
|
`+e.join(`
|
|
264
264
|
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
265
|
-
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=
|
|
265
|
+
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Rt(t[2].split(`
|
|
266
266
|
`,1)[0],t[1].length),l=e.split(`
|
|
267
267
|
`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
|
|
268
268
|
`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
|
|
269
269
|
`,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
|
|
270
270
|
`+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
|
|
271
271
|
`+l}u=!l.trim(),r+=p+`
|
|
272
|
-
`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=
|
|
273
|
-
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=
|
|
274
|
-
`):[],a={type:`table`,raw:
|
|
275
|
-
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(
|
|
272
|
+
`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,``),e.tokens[0]?.type===`text`||e.tokens[0]?.type===`paragraph`){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,``),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let n={type:`checkbox`,raw:t[0]+` `,checked:t[0]!==`[ ]`};e.checked=n.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=n.raw+e.tokens[0].raw,e.tokens[0].text=n.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(n)):e.tokens.unshift({type:`paragraph`,raw:n.raw,text:n.raw,tokens:[n]}):e.tokens.unshift(n)}}if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=It(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:G(t[0],`
|
|
273
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Ft(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
274
|
+
`):[],a={type:`table`,raw:G(t[0],`
|
|
275
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Ft(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:G(t[0],`
|
|
276
276
|
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
277
|
-
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=
|
|
278
|
-
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(
|
|
277
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=G(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Lt(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),zt(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return zt(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},q=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||P,this.options.tokenizer=this.options.tokenizer||new K,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:L,block:jt.normal,inline:U.normal};this.options.pedantic?(t.block=jt.pedantic,t.inline=U.pedantic):this.options.gfm&&(t.block=jt.gfm,this.options.breaks?t.inline=U.breaks:t.inline=U.gfm),this.tokenizer.rules=t}static get rules(){return{block:jt,inline:U}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(L.carriageReturn,`
|
|
278
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(L.tabCharGlobal,` `).replace(L.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
|
|
279
279
|
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
280
280
|
`)?``:`
|
|
281
281
|
`)+i.raw,n.text+=`
|
|
@@ -288,9 +288,9 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
288
288
|
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
289
289
|
`)?``:`
|
|
290
290
|
`)+i.raw,n.text+=`
|
|
291
|
-
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},
|
|
292
|
-
`;return r?`<pre><code class="language-`+
|
|
293
|
-
`:`<pre><code>`+(n?i:
|
|
291
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},Vt=class{options;parser;constructor(e){this.options=e||P}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(L.notSpaceStart)?.[0],i=e.replace(L.endingNewline,``)+`
|
|
292
|
+
`;return r?`<pre><code class="language-`+W(r)+`">`+(n?i:W(i,!0))+`</code></pre>
|
|
293
|
+
`:`<pre><code>`+(n?i:W(i,!0))+`</code></pre>
|
|
294
294
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
295
295
|
${this.parser.parse(e)}</blockquote>
|
|
296
296
|
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
@@ -306,8 +306,8 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
306
306
|
`}tablerow({text:e}){return`<tr>
|
|
307
307
|
${e}</tr>
|
|
308
308
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
309
|
-
`}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>${
|
|
310
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+
|
|
309
|
+
`}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>${W(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=Pt(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+W(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=Pt(e);if(i===null)return W(n);e=i;let a=`<img src="${e}" alt="${W(n)}"`;return t&&(a+=` title="${W(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:W(e.text)}},Ht=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}},J=class e{options;renderer;textRenderer;constructor(e){this.options=e||P,this.options.renderer=this.options.renderer||new Vt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ht}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}},Y=class{options;block;constructor(e){this.options=e||P}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?q.lex:q.lexInline}provideParser(e=this.block){return e?J.parse:J.parseInline}},X=new class{defaults=Ae();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=J;Renderer=Vt;TextRenderer=Ht;Lexer=q;Tokenizer=K;Hooks=Y;constructor(...e){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 Vt(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 K(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 Y;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];Y.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Y.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 q.lex(e,t??this.defaults)}parser(e,t){return J.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?q.lex:q.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?J.parse:J.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?q.lex:q.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?J.parse:J.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+=`
|
|
310
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+W(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Z(e,t){return X.parse(e,t)}Z.options=Z.setOptions=function(e){return X.setOptions(e),Z.defaults=X.defaults,je(Z.defaults),Z},Z.getDefaults=Ae,Z.defaults=P,Z.use=function(...e){return X.use(...e),Z.defaults=X.defaults,je(Z.defaults),Z},Z.walkTokens=function(e,t){return X.walkTokens(e,t)},Z.parseInline=X.parseInline,Z.Parser=J,Z.parser=J.parse,Z.Renderer=Vt,Z.TextRenderer=Ht,Z.Lexer=q,Z.lexer=q.lex,Z.Tokenizer=K,Z.Hooks=Y,Z.parse=Z,Z.options,Z.setOptions,Z.use,Z.walkTokens,Z.parseInline,J.parse,q.lex;function Ut(e,n,r){return t`
|
|
311
311
|
<section class="card">
|
|
312
312
|
<div class="card-title">Agent Context</div>
|
|
313
313
|
<div class="card-sub">${n}</div>
|
|
@@ -347,9 +347,9 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
347
347
|
</div>
|
|
348
348
|
</div>
|
|
349
349
|
</section>
|
|
350
|
-
`}function
|
|
350
|
+
`}function Wt(e,t){let n=e.channelMeta?.find(e=>e.id===t);return n?.label?n.label:e.channelLabels?.[t]??t}function Gt(e){if(!e)return[];let t=new Set;for(let n of e.channelOrder??[])t.add(n);for(let n of e.channelMeta??[])t.add(n.id);for(let n of Object.keys(e.channelAccounts??{}))t.add(n);let n=[],r=e.channelOrder?.length?e.channelOrder:Array.from(t);for(let e of r)t.has(e)&&(n.push(e),t.delete(e));for(let e of t)n.push(e);return n.map(t=>({id:t,label:Wt(e,t),accounts:e.channelAccounts?.[t]??[]}))}var Kt=[`groupPolicy`,`streamMode`,`dmPolicy`];function qt(e){let t=0,n=0,r=0;for(let i of e){let e=i.probe&&typeof i.probe==`object`&&`ok`in i.probe?!!i.probe.ok:!1;(i.connected===!0||i.running===!0||e)&&(t+=1),i.configured&&(n+=1),i.enabled&&(r+=1)}return{total:e.length,connected:t,configured:n,enabled:r}}function Jt(e){let i=Gt(e.snapshot),a=e.lastSuccess?c(e.lastSuccess):`never`;return t`
|
|
351
351
|
<section class="grid grid-cols-2">
|
|
352
|
-
${
|
|
352
|
+
${Ut(e.context,`Workspace, identity, and model configuration.`,e.onSelectPanel)}
|
|
353
353
|
<section class="card">
|
|
354
354
|
<div class="row" style="justify-content: space-between;">
|
|
355
355
|
<div>
|
|
@@ -369,7 +369,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
369
369
|
`}
|
|
370
370
|
${i.length===0?t` <div class="muted" style="margin-top: 16px">No channels found.</div> `:t`
|
|
371
371
|
<div class="list" style="margin-top: 16px;">
|
|
372
|
-
${i.map(r=>{let i=
|
|
372
|
+
${i.map(r=>{let i=qt(r.accounts),a=i.total?`${i.connected}/${i.total} connected`:`no accounts`,o=i.configured?`${i.configured} configured`:`not configured`,s=i.total?`${i.enabled} enabled`:`disabled`,c=T({configForm:e.configForm,channelId:r.id,fields:Kt});return t`
|
|
373
373
|
<div class="list-item">
|
|
374
374
|
<div class="list-main">
|
|
375
375
|
<div class="list-title">${r.label}</div>
|
|
@@ -398,9 +398,9 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
398
398
|
`}
|
|
399
399
|
</section>
|
|
400
400
|
</section>
|
|
401
|
-
`}function
|
|
401
|
+
`}function Yt(e){let i=e.jobs.filter(t=>t.agentId===e.agentId);return t`
|
|
402
402
|
<section class="grid grid-cols-2">
|
|
403
|
-
${
|
|
403
|
+
${Ut(e.context,`Workspace and scheduling targets.`,e.onSelectPanel)}
|
|
404
404
|
<section class="card">
|
|
405
405
|
<div class="row" style="justify-content: space-between;">
|
|
406
406
|
<div>
|
|
@@ -424,7 +424,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
424
424
|
</div>
|
|
425
425
|
<div class="stat">
|
|
426
426
|
<div class="stat-label">Next wake</div>
|
|
427
|
-
<div class="stat-value">${
|
|
427
|
+
<div class="stat-value">${x(e.status?.nextWakeAtMs??null)}</div>
|
|
428
428
|
</div>
|
|
429
429
|
</div>
|
|
430
430
|
${e.error?t`<div class="callout danger" style="margin-top: 12px;">${e.error}</div>`:n}
|
|
@@ -441,7 +441,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
441
441
|
<div class="list-title">${r.name}</div>
|
|
442
442
|
${r.description?t`<div class="list-sub">${r.description}</div>`:n}
|
|
443
443
|
<div class="chip-row" style="margin-top: 6px;">
|
|
444
|
-
<span class="chip">${
|
|
444
|
+
<span class="chip">${S(r)}</span>
|
|
445
445
|
<span class="chip ${r.enabled?`chip-ok`:`chip-warn`}">
|
|
446
446
|
${r.enabled?`enabled`:`disabled`}
|
|
447
447
|
</span>
|
|
@@ -449,8 +449,8 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
449
449
|
</div>
|
|
450
450
|
</div>
|
|
451
451
|
<div class="list-meta">
|
|
452
|
-
<div class="mono">${
|
|
453
|
-
<div class="muted">${
|
|
452
|
+
<div class="mono">${C(r)}</div>
|
|
453
|
+
<div class="muted">${w(r)}</div>
|
|
454
454
|
<button
|
|
455
455
|
class="btn btn--sm"
|
|
456
456
|
style="margin-top: 6px;"
|
|
@@ -465,7 +465,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
465
465
|
</div>
|
|
466
466
|
`}
|
|
467
467
|
</section>
|
|
468
|
-
`}function
|
|
468
|
+
`}function Xt(e){let i=e.agentFilesList?.agentId===e.agentId?e.agentFilesList:null,a=i?.files??[],o=e.agentFileActive??null,s=o?a.find(e=>e.name===o)??null:null,c=o?e.agentFileContents[o]??``:``,l=o?e.agentFileDrafts[o]??c:``,u=o?l!==c:!1;return t`
|
|
469
469
|
<section class="card">
|
|
470
470
|
<div class="row" style="justify-content: space-between;">
|
|
471
471
|
<div>
|
|
@@ -508,7 +508,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
508
508
|
title="Preview rendered markdown"
|
|
509
509
|
@click=${e=>{let t=e.currentTarget.closest(`.card`)?.querySelector(`dialog`);t&&t.showModal()}}
|
|
510
510
|
>
|
|
511
|
-
${
|
|
511
|
+
${g.eye} Preview
|
|
512
512
|
</button>
|
|
513
513
|
<button
|
|
514
514
|
class="btn btn--sm"
|
|
@@ -553,26 +553,26 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
553
553
|
title="Toggle fullscreen"
|
|
554
554
|
@click=${e=>{let t=e.currentTarget,n=t.closest(`.md-preview-dialog__panel`);if(!n)return;let r=n.classList.toggle(`fullscreen`);t.classList.toggle(`is-fullscreen`,r)}}
|
|
555
555
|
>
|
|
556
|
-
<span class="when-normal">${
|
|
557
|
-
><span class="when-fullscreen">${
|
|
556
|
+
<span class="when-normal">${g.maximize} Expand</span
|
|
557
|
+
><span class="when-fullscreen">${g.minimize} Collapse</span>
|
|
558
558
|
</button>
|
|
559
559
|
<button
|
|
560
560
|
class="btn btn--sm"
|
|
561
561
|
title="Edit file"
|
|
562
562
|
@click=${e=>{e.currentTarget.closest(`dialog`)?.close(),document.querySelector(`.agent-file-textarea`)?.focus()}}
|
|
563
563
|
>
|
|
564
|
-
${
|
|
564
|
+
${g.edit} Editor
|
|
565
565
|
</button>
|
|
566
566
|
<button
|
|
567
567
|
class="btn btn--sm"
|
|
568
568
|
@click=${e=>{e.currentTarget.closest(`dialog`)?.close()}}
|
|
569
569
|
>
|
|
570
|
-
${
|
|
570
|
+
${g.x} Close
|
|
571
571
|
</button>
|
|
572
572
|
</div>
|
|
573
573
|
</div>
|
|
574
574
|
<div class="md-preview-dialog__body">
|
|
575
|
-
${
|
|
575
|
+
${p(Oe(Z.parse(l,{gfm:!0,breaks:!0}),{sanitize:e=>y.sanitize(e)}))}
|
|
576
576
|
</div>
|
|
577
577
|
</div>
|
|
578
578
|
</dialog>
|
|
@@ -583,25 +583,25 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
583
583
|
</div>
|
|
584
584
|
`}
|
|
585
585
|
</section>
|
|
586
|
-
`}var Q=[{id:`workspace`,label:`Workspace Skills`,sources:[`genesis-workspace`]},{id:`built-in`,label:`Built-in Skills`,sources:[`genesis-bundled`]},{id:`installed`,label:`Installed Skills`,sources:[`genesis-managed`]},{id:`extra`,label:`Extra Skills`,sources:[`genesis-extra`]}];function
|
|
586
|
+
`}var Q=[{id:`workspace`,label:`Workspace Skills`,sources:[`genesis-workspace`]},{id:`built-in`,label:`Built-in Skills`,sources:[`genesis-bundled`]},{id:`installed`,label:`Installed Skills`,sources:[`genesis-managed`]},{id:`extra`,label:`Extra Skills`,sources:[`genesis-extra`]}];function Zt(e){let t=new Map;for(let e of Q)t.set(e.id,{id:e.id,label:e.label,skills:[]});let n=Q.find(e=>e.id===`built-in`),r={id:`other`,label:`Other Skills`,skills:[]};for(let i of e){let e=i.bundled?n:Q.find(e=>e.sources.includes(i.source));e?t.get(e.id)?.skills.push(i):r.skills.push(i)}let i=Q.map(e=>t.get(e.id)).filter(e=>!!(e&&e.skills.length>0));return r.skills.length>0&&i.push(r),i}function Qt(e){return e.length===0?n:t`
|
|
587
587
|
<div class="agent-tool-badges">
|
|
588
588
|
${e.map(e=>t`<span class="agent-pill">${e}</span>`)}
|
|
589
589
|
</div>
|
|
590
|
-
`}function
|
|
590
|
+
`}function $t(e,t){let n=t.source??e.source,r=t.pluginId??e.pluginId,i=[];return n===`plugin`&&r?i.push(`Plugin: ${r}`):n===`core`&&i.push(`Built-In`),t.optional&&i.push(`Optional`),i}function en(e){let t=$t(e.section,e.tool);return e.activeEntry&&t.unshift(`Live Now`),t}function tn(e){return e.denied?`Disabled by agent override.`:e.allowed&&e.baseAllowed?`Enabled by the current profile.`:e.allowed?`Enabled by agent override.`:`Not included in the current profile.`}function nn(e,t){let n=t.source??e.source,r=t.pluginId??e.pluginId;return n===`plugin`&&r?`Plugin: ${r}`:`Built-In`}function rn(e){return e.denied?`Override Off`:e.allowed&&e.baseAllowed?`Enabled`:e.allowed?`Override On`:`Profile Off`}function an(e){return e.activeEntry?`Live Now`:e.runtimeSessionMatchesSelectedAgent?`Not Live`:`Other Agent`}function on(e){return`agent-tool-${o(e).replace(/[^a-z0-9_-]+/g,`-`)}`}function sn(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function cn(e){return(e??[]).flatMap(e=>e.tools)}var ln=12;function un(e){let t=e.currentTarget;if(!(!(t instanceof HTMLDetailsElement)||t.open))for(let e of t.querySelectorAll(`.agent-tool-card[open]`))e.open=!1}function dn(e,t){let n=document.getElementById(t);if(!(n instanceof HTMLDetailsElement))return;e.preventDefault();let r=n.closest(`.agent-tools-group`);r&&(r.open=!0),n.open=!0;let i=new URL(window.location.href);i.hash=t,window.history.replaceState(null,``,i),requestAnimationFrame(()=>{let e=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;n.scrollIntoView?.({block:`center`,behavior:e?`auto`:`smooth`}),n.querySelector(`summary`)?.focus()})}function fn(e){return e.source===`plugin`?e.pluginId?r(`agentTools.connectedSource`,{id:e.pluginId}):r(`agentTools.connected`):e.source===`channel`?e.channelId?r(`agentTools.channelSource`,{id:e.channelId}):r(`agentTools.channel`):r(`agentTools.builtIn`)}function pn(e){let i=f(e.configForm,e.agentId),a=i.entry?.tools??{},c=i.globalTools??{},l=a.profile??c.profile??`full`,d=u(e.toolsCatalogResult),p=s(e.toolsCatalogResult),g=a.profile?`agent override`:c.profile?`global default`:`default`,_=Array.isArray(a.allow)&&a.allow.length>0,v=Array.isArray(c.allow)&&c.allow.length>0,y=!!e.configForm&&!e.configLoading&&!e.configSaving&&!_&&!(e.toolsCatalogLoading&&!e.toolsCatalogResult&&!e.toolsCatalogError),te=_?[]:Array.isArray(a.alsoAllow)?a.alsoAllow:[],b=_?[]:Array.isArray(a.deny)?a.deny:[],re=_?{allow:a.allow??[],deny:a.deny??[]}:ne(l)??void 0,x=p.flatMap(e=>e.tools.map(e=>e.id)),S=e=>{let t=ee(e,re),n=m(e,te),r=m(e,b);return{allowed:(t||n)&&!r,baseAllowed:t,denied:r}},C=x.filter(e=>S(e).allowed).length,w=e.runtimeSessionMatchesSelectedAgent&&!e.toolsEffectiveError?cn(e.toolsEffectiveResult?.groups):[],T=Array.from(new Map(w.map(e=>[o(e.id),e])).values()),E=T.slice(0,ln),D=Math.max(0,T.length-E.length),ie=T.length,O=new Map(w.map(e=>[o(e.id),e])),ae=new Set(O.keys()),k=e=>h(e,(e,t)=>{let n=o(e.id),r=o(t.id),i=+!!ae.has(n),a=+!!ae.has(r);if(i!==a)return a-i;let s=+!!S(e.id).allowed,c=+!!S(t.id).allowed;return s===c?e.label.localeCompare(t.label):c-s}),oe=(t,n)=>{let r=new Set(te.map(e=>o(e)).filter(e=>e.length>0)),i=new Set(b.map(e=>o(e)).filter(e=>e.length>0)),a=S(t).baseAllowed,s=o(t);n?(i.delete(s),a||r.add(s)):(r.delete(s),i.add(s)),e.onOverridesChange(e.agentId,[...r],[...i])},A=t=>{let n=new Set(te.map(e=>o(e)).filter(e=>e.length>0)),r=new Set(b.map(e=>o(e)).filter(e=>e.length>0));for(let e of x){let i=S(e).baseAllowed,a=o(e);t?(r.delete(a),i||n.add(a)):(n.delete(a),r.add(a))}e.onOverridesChange(e.agentId,[...n],[...r])};return t`
|
|
591
591
|
<section class="card">
|
|
592
592
|
<div class="agent-tools-header">
|
|
593
593
|
<div class="agent-tools-header__intro">
|
|
594
594
|
<div class="card-title">Tool Access</div>
|
|
595
595
|
<div class="card-sub">
|
|
596
596
|
Profile + per-tool overrides for this agent.
|
|
597
|
-
<span class="mono">${
|
|
597
|
+
<span class="mono">${C}/${x.length}</span> enabled.
|
|
598
598
|
</div>
|
|
599
599
|
</div>
|
|
600
600
|
<div class="agent-tools-header__actions">
|
|
601
|
-
<button class="btn btn--sm" ?disabled=${!
|
|
601
|
+
<button class="btn btn--sm" ?disabled=${!y} @click=${()=>A(!0)}>
|
|
602
602
|
Enable All
|
|
603
603
|
</button>
|
|
604
|
-
<button class="btn btn--sm" ?disabled=${!
|
|
604
|
+
<button class="btn btn--sm" ?disabled=${!y} @click=${()=>A(!1)}>
|
|
605
605
|
Disable All
|
|
606
606
|
</button>
|
|
607
607
|
<button
|
|
@@ -626,13 +626,13 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
626
626
|
Load the gateway config to adjust tool profiles.
|
|
627
627
|
</div>
|
|
628
628
|
`}
|
|
629
|
-
${
|
|
629
|
+
${_?t`
|
|
630
630
|
<div class="callout info" style="margin-top: 12px">
|
|
631
631
|
This agent is using an explicit allowlist in config. Tool overrides are managed in the
|
|
632
632
|
Config tab.
|
|
633
633
|
</div>
|
|
634
634
|
`:n}
|
|
635
|
-
${
|
|
635
|
+
${v?t`
|
|
636
636
|
<div class="callout info" style="margin-top: 12px">
|
|
637
637
|
Global tools.allow is set. Agent overrides cannot enable tools that are globally
|
|
638
638
|
blocked.
|
|
@@ -669,24 +669,24 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
669
669
|
</div>
|
|
670
670
|
`:t`
|
|
671
671
|
<div class="agent-tools-runtime">
|
|
672
|
-
${
|
|
672
|
+
${E.map(e=>{let n=on(e.id);return t`
|
|
673
673
|
<a
|
|
674
674
|
class="agent-tools-runtime-chip"
|
|
675
675
|
href="#${n}"
|
|
676
|
-
@click=${e=>
|
|
676
|
+
@click=${e=>dn(e,n)}
|
|
677
677
|
>
|
|
678
678
|
<span class="mono" translate="no">${e.label}</span>
|
|
679
679
|
<span class="agent-tools-runtime-chip__meta"
|
|
680
|
-
>${
|
|
680
|
+
>${fn(e)}</span
|
|
681
681
|
>
|
|
682
682
|
</a>
|
|
683
683
|
`})}
|
|
684
|
-
${
|
|
684
|
+
${D>0?t`
|
|
685
685
|
<span
|
|
686
686
|
class="agent-tools-runtime-chip agent-tools-runtime-chip--more"
|
|
687
|
-
title=${`${
|
|
687
|
+
title=${`${D} more live tools are available in the groups below.`}
|
|
688
688
|
>
|
|
689
|
-
+${
|
|
689
|
+
+${D} more live tools
|
|
690
690
|
</span>
|
|
691
691
|
`:n}
|
|
692
692
|
</div>
|
|
@@ -700,10 +700,10 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
700
700
|
<div class="agent-tools-pane">
|
|
701
701
|
<div class="label">Quick Presets</div>
|
|
702
702
|
<div class="agent-tools-buttons">
|
|
703
|
-
${
|
|
703
|
+
${d.map(n=>t`
|
|
704
704
|
<button
|
|
705
|
-
class="btn btn--sm ${
|
|
706
|
-
?disabled=${!
|
|
705
|
+
class="btn btn--sm ${l===n.id?`active`:``}"
|
|
706
|
+
?disabled=${!y}
|
|
707
707
|
@click=${()=>e.onProfileChange(e.agentId,n.id,!0)}
|
|
708
708
|
>
|
|
709
709
|
${n.label}
|
|
@@ -711,7 +711,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
711
711
|
`)}
|
|
712
712
|
<button
|
|
713
713
|
class="btn btn--sm"
|
|
714
|
-
?disabled=${!
|
|
714
|
+
?disabled=${!y}
|
|
715
715
|
@click=${()=>e.onProfileChange(e.agentId,null,!1)}
|
|
716
716
|
>
|
|
717
717
|
Inherit
|
|
@@ -723,19 +723,19 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
723
723
|
<div class="agent-tools-facts">
|
|
724
724
|
<div class="agent-tools-fact">
|
|
725
725
|
<div class="label">Profile</div>
|
|
726
|
-
<div class="mono">${
|
|
726
|
+
<div class="mono">${l}</div>
|
|
727
727
|
</div>
|
|
728
728
|
<div class="agent-tools-fact">
|
|
729
729
|
<div class="label">Source</div>
|
|
730
|
-
<div>${
|
|
730
|
+
<div>${g}</div>
|
|
731
731
|
</div>
|
|
732
732
|
<div class="agent-tools-fact">
|
|
733
733
|
<div class="label">Enabled</div>
|
|
734
|
-
<div class="mono">${
|
|
734
|
+
<div class="mono">${C}/${x.length}</div>
|
|
735
735
|
</div>
|
|
736
736
|
<div class="agent-tools-fact">
|
|
737
737
|
<div class="label">Live</div>
|
|
738
|
-
<div class="mono">${
|
|
738
|
+
<div class="mono">${ie}</div>
|
|
739
739
|
</div>
|
|
740
740
|
<div class="agent-tools-fact">
|
|
741
741
|
<div class="label">Status</div>
|
|
@@ -747,8 +747,8 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
747
747
|
</div>
|
|
748
748
|
|
|
749
749
|
<div class="agent-tools-grid">
|
|
750
|
-
${p.map(r=>{let i=
|
|
751
|
-
<details class="agent-tools-group" @toggle=${
|
|
750
|
+
${p.map(r=>{let i=k(r.tools),a=r.tools.filter(e=>S(e.id).allowed).length,s=r.tools.filter(e=>ae.has(o(e.id))).length,c=i.slice(0,4),l=Math.max(0,i.length-c.length);return t`
|
|
751
|
+
<details class="agent-tools-group" @toggle=${un}>
|
|
752
752
|
<summary class="agent-tools-group__summary">
|
|
753
753
|
<span class="agent-tools-group__summary-main">
|
|
754
754
|
<span class="agent-tools-group__title">
|
|
@@ -756,20 +756,20 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
756
756
|
${r.source===`plugin`&&r.pluginId?t`<span class="agent-pill">Plugin: ${r.pluginId}</span>`:n}
|
|
757
757
|
</span>
|
|
758
758
|
<span class="agent-tools-group__preview" aria-label="Tool preview">
|
|
759
|
-
${
|
|
759
|
+
${c.map(e=>t`<span class="mono" translate="no" title=${e.label}
|
|
760
760
|
>${e.label}</span
|
|
761
761
|
>`)}
|
|
762
|
-
${
|
|
762
|
+
${l>0?t`<span>+${l} more</span>`:n}
|
|
763
763
|
</span>
|
|
764
764
|
</span>
|
|
765
765
|
<span class="agent-tools-group__counts">
|
|
766
|
-
<span>${
|
|
767
|
-
<span>${
|
|
768
|
-
${
|
|
766
|
+
<span>${sn(r.tools.length,`Tool`)}</span>
|
|
767
|
+
<span>${sn(a,`Enabled Tool`)}</span>
|
|
768
|
+
${s>0?t`<span>${sn(s,`Live Tool`)}</span>`:n}
|
|
769
769
|
</span>
|
|
770
770
|
</summary>
|
|
771
771
|
<div class="agent-tools-list agent-tools-list--stacked">
|
|
772
|
-
${i.map(i=>{let a=
|
|
772
|
+
${i.map(i=>{let a=on(i.id),s=S(i.id),c=O.get(o(i.id))??null,l=i.defaultProfiles??[],u=en({section:r,tool:i,activeEntry:c}),d=rn(s),f=an({activeEntry:c,runtimeSessionMatchesSelectedAgent:e.runtimeSessionMatchesSelectedAgent});return t`
|
|
773
773
|
<details class="agent-tool-card" id=${a}>
|
|
774
774
|
<summary class="agent-tool-summary">
|
|
775
775
|
<div class="agent-tool-summary__main">
|
|
@@ -789,7 +789,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
789
789
|
</div>
|
|
790
790
|
</dl>
|
|
791
791
|
<div class="agent-tool-summary__badges">
|
|
792
|
-
${
|
|
792
|
+
${Qt(u)}
|
|
793
793
|
</div>
|
|
794
794
|
<label
|
|
795
795
|
class="cfg-toggle agent-tool-toggle"
|
|
@@ -798,10 +798,10 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
798
798
|
>
|
|
799
799
|
<input
|
|
800
800
|
type="checkbox"
|
|
801
|
-
.checked=${
|
|
802
|
-
?disabled=${!
|
|
803
|
-
aria-label=${`${
|
|
804
|
-
@change=${e=>
|
|
801
|
+
.checked=${s.allowed}
|
|
802
|
+
?disabled=${!y}
|
|
803
|
+
aria-label=${`${s.allowed?`Disable`:`Enable`} ${i.label}`}
|
|
804
|
+
@change=${e=>oe(i.id,e.target.checked)}
|
|
805
805
|
/>
|
|
806
806
|
<span class="cfg-toggle__track"></span>
|
|
807
807
|
</label>
|
|
@@ -810,24 +810,24 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
810
810
|
<div class="agent-tool-details-strip">
|
|
811
811
|
<div class="agent-tool-detail agent-tool-detail--inline">
|
|
812
812
|
<div class="label">Access</div>
|
|
813
|
-
<div>${
|
|
813
|
+
<div>${tn(s)}</div>
|
|
814
814
|
</div>
|
|
815
815
|
<div class="agent-tool-detail agent-tool-detail--inline">
|
|
816
816
|
<div class="label">Source</div>
|
|
817
|
-
<div>${
|
|
817
|
+
<div>${nn(r,i)}</div>
|
|
818
818
|
</div>
|
|
819
|
-
${
|
|
819
|
+
${l.length>0?t`
|
|
820
820
|
<div class="agent-tool-detail agent-tool-detail--inline">
|
|
821
821
|
<div class="label">Default Presets</div>
|
|
822
822
|
<div class="agent-tool-badges">
|
|
823
|
-
${
|
|
823
|
+
${l.map(e=>t`<span class="agent-pill">${e}</span>`)}
|
|
824
824
|
</div>
|
|
825
825
|
</div>
|
|
826
826
|
`:n}
|
|
827
827
|
<div class="agent-tool-detail agent-tool-detail--inline">
|
|
828
828
|
<div class="label">Current Session</div>
|
|
829
829
|
<div>
|
|
830
|
-
${
|
|
830
|
+
${c?`Available now via ${fn(c)}.`:e.runtimeSessionMatchesSelectedAgent?`Not available in this chat session right now.`:`Switch chat to this agent to inspect live availability.`}
|
|
831
831
|
</div>
|
|
832
832
|
</div>
|
|
833
833
|
<a class="agent-tool-jump" href="#${a}"> Link to This Tool </a>
|
|
@@ -840,7 +840,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
840
840
|
`})}
|
|
841
841
|
</div>
|
|
842
842
|
</section>
|
|
843
|
-
`}function
|
|
843
|
+
`}function mn(e){let a=!!e.configForm&&!e.configLoading&&!e.configSaving,o=f(e.configForm,e.agentId),s=Array.isArray(o.entry?.skills)?o.entry?.skills:void 0,c=new Set((s??[]).map(e=>e.trim()).filter(Boolean)),l=s!==void 0,u=!!(e.report&&e.activeAgentId===e.agentId),d=u?e.report?.skills??[]:[],p=i(e.filter),m=p?d.filter(e=>i([e.name,e.description,e.source].join(` `)).includes(p)):d,ee=Zt(m),h=l?d.filter(e=>c.has(e.name)).length:d.length,g=d.length;return t`
|
|
844
844
|
<section class="card">
|
|
845
845
|
<div class="row" style="justify-content: space-between; flex-wrap: wrap;">
|
|
846
846
|
<div style="min-width: 0;">
|
|
@@ -930,26 +930,26 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
930
930
|
name="agent-skills-filter"
|
|
931
931
|
/>
|
|
932
932
|
</label>
|
|
933
|
-
<div class="muted">${
|
|
933
|
+
<div class="muted">${m.length} shown</div>
|
|
934
934
|
</div>
|
|
935
935
|
|
|
936
|
-
${
|
|
936
|
+
${m.length===0?t` <div class="muted" style="margin-top: 16px">No skills found.</div> `:t`
|
|
937
937
|
<div class="agent-skills-groups" style="margin-top: 16px;">
|
|
938
|
-
${
|
|
938
|
+
${ee.map(t=>hn(t,{agentId:e.agentId,allowSet:c,usingAllowlist:l,editable:a,onToggle:e.onToggle}))}
|
|
939
939
|
</div>
|
|
940
940
|
`}
|
|
941
941
|
</section>
|
|
942
|
-
`}function
|
|
942
|
+
`}function hn(e,n){return t`
|
|
943
943
|
<details class="agent-skills-group" ?open=${!(e.id===`workspace`||e.id===`built-in`)}>
|
|
944
944
|
<summary class="agent-skills-header">
|
|
945
945
|
<span>${e.label}</span>
|
|
946
946
|
<span class="muted">${e.skills.length}</span>
|
|
947
947
|
</summary>
|
|
948
948
|
<div class="list skills-grid">
|
|
949
|
-
${e.skills.map(e=>
|
|
949
|
+
${e.skills.map(e=>gn(e,{agentId:n.agentId,allowSet:n.allowSet,usingAllowlist:n.usingAllowlist,editable:n.editable,onToggle:n.onToggle}))}
|
|
950
950
|
</div>
|
|
951
951
|
</details>
|
|
952
|
-
`}function
|
|
952
|
+
`}function gn(e,r){let i=r.usingAllowlist?r.allowSet.has(e.name):!0,a=ie(e),o=E(e);return t`
|
|
953
953
|
<div class="list-item agent-skill-row">
|
|
954
954
|
<div class="list-main">
|
|
955
955
|
<div class="list-title">${e.emoji?`${e.emoji} `:``}${e.name}</div>
|
|
@@ -970,7 +970,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
970
970
|
</label>
|
|
971
971
|
</div>
|
|
972
972
|
</div>
|
|
973
|
-
`}var
|
|
973
|
+
`}var _n=`grid-template-columns: 1.6fr 1.2fr 0.8fr 1.4fr;`;function $(e,n,r=!1){return t`
|
|
974
974
|
<div
|
|
975
975
|
style="display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; flex: 1; min-width: 0; ${r?``:`border-right: 1px solid var(--border);`}"
|
|
976
976
|
>
|
|
@@ -981,15 +981,15 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
981
981
|
</div>
|
|
982
982
|
<div class="muted" style="font-size: 13px;">${n}</div>
|
|
983
983
|
</div>
|
|
984
|
-
`}function
|
|
984
|
+
`}function vn(e,r,i,a){let o=i!=null&&e.id===i,s=a===e.id,c=e.model?.primary??`—`,l=e.model?.fallbacks?.length??0,u=e.workspace??`—`;return t`
|
|
985
985
|
<div
|
|
986
986
|
class="table-row"
|
|
987
|
-
style="cursor: pointer; ${s?`background: var(--bg-elevated);`:``} ${
|
|
987
|
+
style="cursor: pointer; ${s?`background: var(--bg-elevated);`:``} ${_n}"
|
|
988
988
|
@click=${()=>r.onSelectAgent(e.id)}
|
|
989
989
|
>
|
|
990
990
|
<span style="color: var(--text); display: flex; align-items: center; gap: 8px;">
|
|
991
991
|
<span class="status-dot ${o?`status-dot--ok`:`status-dot--idle`}"></span>
|
|
992
|
-
${
|
|
992
|
+
${d(e)}
|
|
993
993
|
${o?t`<span class="muted" style="font-size: 12px;">· default</span>`:n}
|
|
994
994
|
</span>
|
|
995
995
|
<span class="muted" style="font-family: var(--mono);">${c}</span>
|
|
@@ -1000,7 +1000,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
1000
1000
|
>${u}</span
|
|
1001
1001
|
>
|
|
1002
1002
|
</div>
|
|
1003
|
-
`}function
|
|
1003
|
+
`}function yn(e){let i=e.agentsList?.agents??[],a=e.agentsList?.defaultId??null,o=e.selectedAgentId??null,s=o?i.find(e=>e.id===o)??null:null,c=o&&e.agentSkills.agentId===o?e.agentSkills.report?.skills?.length??null:null,l=e.channels.snapshot?Object.keys(e.channels.snapshot.channelAccounts??{}).length:null,u=o?e.cron.jobs.filter(e=>e.agentId===o).length:null,f={files:e.agentFiles.list?.files?.length??null,skills:c,channels:l,cron:u||null};return t`
|
|
1004
1004
|
<div class="agents-layout">
|
|
1005
1005
|
<section>
|
|
1006
1006
|
<div
|
|
@@ -1030,13 +1030,13 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
1030
1030
|
${e.loading?r(`common.loading`):r(`common.na`)}
|
|
1031
1031
|
</div>`:t`
|
|
1032
1032
|
<div class="table" style="margin-top: 24px;">
|
|
1033
|
-
<div class="table-head" style=${
|
|
1033
|
+
<div class="table-head" style=${_n}>
|
|
1034
1034
|
<span>AGENT</span>
|
|
1035
1035
|
<span>MODEL</span>
|
|
1036
1036
|
<span>FALLBACKS</span>
|
|
1037
1037
|
<span>WORKSPACE</span>
|
|
1038
1038
|
</div>
|
|
1039
|
-
${i.map(t=>
|
|
1039
|
+
${i.map(t=>vn(t,e,a,o))}
|
|
1040
1040
|
</div>
|
|
1041
1041
|
`}
|
|
1042
1042
|
</section>
|
|
@@ -1060,7 +1060,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
1060
1060
|
class="status-dot ${s.id===a?`status-dot--ok`:`status-dot--idle`}"
|
|
1061
1061
|
></span>
|
|
1062
1062
|
<span class="view-title" style="font-size: 18px;"
|
|
1063
|
-
>${
|
|
1063
|
+
>${d(s)}</span
|
|
1064
1064
|
>
|
|
1065
1065
|
${s.id===a?t`<span class="muted" style="font-size: 12px;">· default</span>`:n}
|
|
1066
1066
|
</div>
|
|
@@ -1093,19 +1093,19 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
1093
1093
|
</div>
|
|
1094
1094
|
</div>
|
|
1095
1095
|
<div style="padding: 20px;">
|
|
1096
|
-
${
|
|
1097
|
-
${e.activePanel===`overview`?
|
|
1098
|
-
${e.activePanel===`files`?
|
|
1099
|
-
${e.activePanel===`tools`?
|
|
1100
|
-
${e.activePanel===`skills`?
|
|
1101
|
-
${e.activePanel===`channels`?
|
|
1102
|
-
${e.activePanel===`cron`?
|
|
1096
|
+
${bn(e.activePanel,t=>e.onSelectPanel(t),f)}
|
|
1097
|
+
${e.activePanel===`overview`?O({agent:s,basePath:e.basePath,defaultId:a,configForm:e.config.form,agentFilesList:e.agentFiles.list,agentIdentity:e.agentIdentityById[s.id]??null,agentIdentityError:e.agentIdentityError,agentIdentityLoading:e.agentIdentityLoading,configLoading:e.config.loading,configSaving:e.config.saving,configDirty:e.config.dirty,connected:e.connected,modelCatalog:e.modelCatalog,modelProviderWizardStep:e.modelProviderWizardStep,modelProviderWizardInput:e.modelProviderWizardInput,modelProviderWizardBusy:e.modelProviderWizardBusy,modelProviderWizardError:e.modelProviderWizardError,modelProviderWizardMessage:e.modelProviderWizardMessage,onConfigReload:e.onConfigReload,onConfigSave:e.onConfigSave,onModelChange:e.onModelChange,onModelFallbacksChange:e.onModelFallbacksChange,onModelProviderWizardStart:e.onModelProviderWizardStart,onModelProviderWizardSubmit:e.onModelProviderWizardSubmit,onModelProviderWizardCancel:e.onModelProviderWizardCancel,onModelProviderWizardInput:e.onModelProviderWizardInput,onModelProviderWizardClose:e.onModelProviderWizardClose,onSelectPanel:e.onSelectPanel}):n}
|
|
1098
|
+
${e.activePanel===`files`?Xt({agentId:s.id,agentFilesList:e.agentFiles.list,agentFilesLoading:e.agentFiles.loading,agentFilesError:e.agentFiles.error,agentFileActive:e.agentFiles.active,agentFileContents:e.agentFiles.contents,agentFileDrafts:e.agentFiles.drafts,agentFileSaving:e.agentFiles.saving,onLoadFiles:e.onLoadFiles,onSelectFile:e.onSelectFile,onFileDraftChange:e.onFileDraftChange,onFileReset:e.onFileReset,onFileSave:e.onFileSave}):n}
|
|
1099
|
+
${e.activePanel===`tools`?pn({agentId:s.id,configForm:e.config.form,configLoading:e.config.loading,configSaving:e.config.saving,configDirty:e.config.dirty,toolsCatalogLoading:e.toolsCatalog.loading,toolsCatalogError:e.toolsCatalog.error,toolsCatalogResult:e.toolsCatalog.result,toolsEffectiveLoading:e.toolsEffective.loading,toolsEffectiveError:e.toolsEffective.error,toolsEffectiveResult:e.toolsEffective.result,runtimeSessionKey:e.runtimeSessionKey,runtimeSessionMatchesSelectedAgent:e.runtimeSessionMatchesSelectedAgent,onProfileChange:e.onToolsProfileChange,onOverridesChange:e.onToolsOverridesChange,onConfigReload:e.onConfigReload,onConfigSave:e.onConfigSave}):n}
|
|
1100
|
+
${e.activePanel===`skills`?mn({agentId:s.id,report:e.agentSkills.report,loading:e.agentSkills.loading,error:e.agentSkills.error,activeAgentId:e.agentSkills.agentId,configForm:e.config.form,configLoading:e.config.loading,configSaving:e.config.saving,configDirty:e.config.dirty,filter:e.agentSkills.filter,onFilterChange:e.onSkillsFilterChange,onRefresh:e.onSkillsRefresh,onToggle:e.onAgentSkillToggle,onClear:e.onAgentSkillsClear,onDisableAll:e.onAgentSkillsDisableAll,onConfigReload:e.onConfigReload,onConfigSave:e.onConfigSave}):n}
|
|
1101
|
+
${e.activePanel===`channels`?Jt({context:v(s,e.config.form,e.agentFiles.list,a,e.agentIdentityById[s.id]??null),configForm:e.config.form,snapshot:e.channels.snapshot,loading:e.channels.loading,error:e.channels.error,lastSuccess:e.channels.lastSuccess,onRefresh:e.onChannelsRefresh,onSelectPanel:e.onSelectPanel}):n}
|
|
1102
|
+
${e.activePanel===`cron`?Yt({context:v(s,e.config.form,e.agentFiles.list,a,e.agentIdentityById[s.id]??null),agentId:s.id,jobs:e.cron.jobs,status:e.cron.status,loading:e.cron.loading,error:e.cron.error,onRefresh:e.onCronRefresh,onRunNow:e.onCronRunNow,onSelectPanel:e.onSelectPanel}):n}
|
|
1103
1103
|
</div>
|
|
1104
1104
|
</div>
|
|
1105
1105
|
</div>
|
|
1106
1106
|
`:n}
|
|
1107
1107
|
</div>
|
|
1108
|
-
`}function
|
|
1108
|
+
`}function bn(e,r,i){return t`
|
|
1109
1109
|
<div class="agent-tabs">
|
|
1110
1110
|
${[{id:`overview`,label:`Overview`},{id:`files`,label:`Files`},{id:`tools`,label:`Tools`},{id:`skills`,label:`Skills`},{id:`channels`,label:`Channels`},{id:`cron`,label:`Cron Jobs`}].map(a=>t`
|
|
1111
1111
|
<button
|
|
@@ -1117,5 +1117,5 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
1117
1117
|
</button>
|
|
1118
1118
|
`)}
|
|
1119
1119
|
</div>
|
|
1120
|
-
`}export{
|
|
1121
|
-
//# sourceMappingURL=agents-
|
|
1120
|
+
`}export{yn as renderAgents};
|
|
1121
|
+
//# sourceMappingURL=agents-JV9Lrpaq.js.map
|