@vpxa/aikit 0.1.374 → 0.1.376
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/package.json +1 -1
- package/packages/blocks-core/dist/index.mjs +44 -22
- package/packages/claude-desktop/dist/manifest.json +1 -1
- package/packages/cli/dist/index.js +1 -1
- package/packages/present/dist/index.html +59 -37
- package/packages/server/viewers/canvas.html +111 -89
- package/packages/server/viewers/report-template.html +83 -61
- package/packages/server/viewers/tour-viewer.html +89 -67
- package/scaffold/dist/adapters/claude-code.mjs +7 -7
- package/scaffold/dist/definitions/agents.mjs +1 -1
- package/scaffold/dist/definitions/bodies.mjs +13 -15
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/docs.mjs +1 -1
- package/scaffold/dist/definitions/skills/present.mjs +2 -2
- package/scaffold/dist/definitions/tools.mjs +1 -1
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
font-size: var(--dt-font-size-base);
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
|
-
`;function ne(t,n){return`<div class="bk-cards">${l(t).map((t,n)=>{let r=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,i=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,a=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}" style="--i: ${n}" aria-label="${e(t.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}var y=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],re=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),b=500,x=300,ie=300,ae=100,
|
|
292
|
+
`;function ne(t,n){return`<div class="bk-cards">${l(t).map((t,n)=>{let r=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,i=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,a=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}" style="--i: ${n}" aria-label="${e(t.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}var y=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],re=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),b=500,x=300,ie=300,ae=100,S=30,oe=`
|
|
293
293
|
.bk-chart {
|
|
294
294
|
display: grid;
|
|
295
295
|
gap: var(--dt-space-3);
|
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
padding: var(--dt-space-1) var(--dt-space-2);
|
|
439
439
|
}
|
|
440
440
|
}
|
|
441
|
-
`;function ce(e,t){let n=le(e),r=_e(n.headers,n.data);if(n.data.length===0||!re.has(n.chartType))return ve(n.note,r);let i=ue(n);if(!i)return ve(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?be(a):``}${ye(r)}</div>`}function le(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=re.has(a)?a:`bar`,s=e(a),c=xe(r,String(n?.xKey??`label`)),l=Array.isArray(n?.yKeys)?n.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:o,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ue(e){switch(e.chartType){case`line`:case`area`:return de(e,e.chartType===`area`);case`bar`:return fe(e);case`horizontal-bar`:return pe(e);case`pie`:return me(e,!1);case`donut`:return me(e,!0);case`sparkline`:return he(e);case`heatmap`:return ge(e);default:return``}}function de(t,n){let r=S(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=w(i),o=C(b,x,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>De(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=y[t%y.length],c=r.map((e,n)=>{let r=s[n],i=T(e.values[t],a,o.bottom,o.top);return`${O(r)},${O(i)}`}),l=r.map((e,n)=>{let r=s[n],c=T(e.values[t],a,o.bottom,o.top);return`<circle cx="${O(r)}" cy="${O(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return n?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${O(s[0])},${O(o.bottom)}`,...c,`${O(s[s.length-1])},${O(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${Ce(o,a)}${Te(o)}${Ee(r,s,o.bottom+18)}${c}</svg>`}function fe(e){let t=S(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=w(n,{includeZero:!0}),i=C(b,x,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=T(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=y[t%y.length],s=n+t*(o+4),l=T(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(s)}" y="${O(u)}" width="${O(o)}" height="${O(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${Ce(i,r)}${Te(i)}${Ee(t,u,i.bottom+18)}${l}</svg>`}function pe(t){let n=S(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=w(r,{includeZero:!0}),a=C(b,x,{left:110,right:20,top:20,bottom:36}),o=a.height/n.length,s=Math.max(4,Math.min(18,(o-8-4*(t.yKeys.length-1))/t.yKeys.length)),c=t.yKeys.length*s+(t.yKeys.length-1)*4,l=T(0,i,a.left,a.right),u=n.map((t,n)=>{let r=a.top+n*o+(o-c)/2,u=a.top+n*o+o/2+4;return`${`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=y[t%y.length],o=r+t*(s+4),c=T(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(u)}" y="${O(o)}" width="${O(d)}" height="${O(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${we(a,i)}<line class="bk-chart-axis" x1="${O(l)}" y1="${O(a.top)}" x2="${O(l)}" y2="${O(a.bottom)}" />${u}</svg>`}function me(t,n){let r=Se(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:je(e[t.xKey]),value:D(e[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=ie/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=y[r%y.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?ke(o,140,88,s,c,f):Oe(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let h=E(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${O(h.x)}" y="${O(h.y)}" text-anchor="${h.x>=o?`start`:`end`}">${e(t.label)} ${e(Ne(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${O(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${ie} ${ie}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function he(e){let t=Se(e.data,e.xKey,e.yKeys),n=e.data.map(e=>D(e[t]));if(n.every(e=>e===0))return``;let r=w(n),i=n.map((e,t)=>{let i=De(t,n.length,0,ae),a=T(e,r,oe-2,2);return`${O(i)},${O(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ae} ${oe}" width="100%" height="${oe}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${y[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ge(t){let n=t.data.map(e=>({label:je(e[t.xKey]),values:t.yKeys.map(t=>D(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=w(r),a=C(b,x,{left:80,right:20,top:42,bottom:20}),o=a.width/t.yKeys.length,s=a.height/n.length;return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${O(a.left+n*o+o/2)}" y="28" text-anchor="middle">${e(t)}</text>`).join(``)}${n.map((t,n)=>{let r=a.top+n*s+s/2+4;return`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(r)}" text-anchor="end">${e(t.label)}</text>`}).join(``)}${n.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${O(r)}" y="${O(c)}" width="${O(o-4)}" height="${O(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Ae(e,i)}" />`}).join(``)).join(``)}</svg>`}function _e(t,n){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${t.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead><tbody>${n.map(n=>`<tr>${t.map(t=>`<td>${e(r(n[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function ve(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function ye(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function be(t){return`<div class="bk-chart-legend">${t.map((t,n)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${y[n%y.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function xe(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function Se(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Me(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Me(n[e]));if(e)return e}return n[0]??`value`}function S(e,t,n){return e.map(e=>({label:je(e[t]),values:n.map(t=>D(e[t]))}))}function Ce(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.max-a*(n.max-n.min),s=t.top+a*t.height;return`<line class="bk-chart-grid" x1="${O(t.left)}" y1="${O(s)}" x2="${O(t.right)}" y2="${O(s)}" /><text class="bk-chart-label" x="${O(t.left-8)}" y="${O(s+4)}" text-anchor="end">${e(Ne(o))}</text>`}).join(``)}function we(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.min+a*(n.max-n.min),s=t.left+a*t.width;return`<line class="bk-chart-grid" x1="${O(s)}" y1="${O(t.top)}" x2="${O(s)}" y2="${O(t.bottom)}" /><text class="bk-chart-label" x="${O(s)}" y="${O(t.bottom+18)}" text-anchor="middle">${e(Ne(o))}</text>`}).join(``)}function Te(e){return`<line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.top)}" x2="${O(e.left)}" y2="${O(e.bottom)}" /><line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.bottom)}" x2="${O(e.right)}" y2="${O(e.bottom)}" />`}function Ee(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${O(n[i])}" y="${O(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function C(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function w(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function De(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function T(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Oe(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=E(e,t,n,r),o=E(e,t,n,i),s=+(i-r>180);return`M ${O(e)} ${O(t)} L ${O(a.x)} ${O(a.y)} A ${O(n)} ${O(n)} 0 ${s} 1 ${O(o.x)} ${O(o.y)} Z`}function ke(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=E(e,t,n,i),s=E(e,t,n,a),c=E(e,t,r,a),l=E(e,t,r,i),u=+(a-i>180);return[`M ${O(o.x)} ${O(o.y)}`,`A ${O(n)} ${O(n)} 0 ${u} 1 ${O(s.x)} ${O(s.y)}`,`L ${O(c.x)} ${O(c.y)}`,`A ${O(r)} ${O(r)} 0 ${u} 0 ${O(l.x)} ${O(l.y)}`,`Z`].join(` `)}function E(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Ae(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${O(100-n)}%, var(--dt-accent-fg) ${O(n)}%)`}function je(e){return e==null?``:String(r(e))}function D(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Me(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function Ne(e){return String(r(Number(e.toFixed(2))))}function O(e){return Number(e.toFixed(2)).toString()}var Pe=`
|
|
441
|
+
`;function se(e,t){let n=ce(e),r=ge(n.headers,n.data);if(n.data.length===0||!re.has(n.chartType))return _e(n.note,r);let i=le(n);if(!i)return _e(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?ye(a):``}${ve(r)}</div>`}function ce(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=re.has(a)?a:`bar`,s=e(a),c=be(r,String(n?.xKey??`label`)),l=Array.isArray(n?.yKeys)?n.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:o,data:r,xKey:c,yKeys:u,headers:d,note:s}}function le(e){switch(e.chartType){case`line`:case`area`:return ue(e,e.chartType===`area`);case`bar`:return de(e);case`horizontal-bar`:return fe(e);case`pie`:return pe(e,!1);case`donut`:return pe(e,!0);case`sparkline`:return me(e);case`heatmap`:return he(e);default:return``}}function ue(t,n){let r=C(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=T(i),o=w(b,x,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Ee(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=y[t%y.length],c=r.map((e,n)=>{let r=s[n],i=E(e.values[t],a,o.bottom,o.top);return`${A(r)},${A(i)}`}),l=r.map((e,n)=>{let r=s[n],c=E(e.values[t],a,o.bottom,o.top);return`<circle cx="${A(r)}" cy="${A(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return n?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${A(s[0])},${A(o.bottom)}`,...c,`${A(s[s.length-1])},${A(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${Se(o,a)}${we(o)}${Te(r,s,o.bottom+18)}${c}</svg>`}function de(e){let t=C(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=T(n,{includeZero:!0}),i=w(b,x,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=E(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=y[t%y.length],s=n+t*(o+4),l=E(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${A(s)}" y="${A(u)}" width="${A(o)}" height="${A(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${Se(i,r)}${we(i)}${Te(t,u,i.bottom+18)}${l}</svg>`}function fe(t){let n=C(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=T(r,{includeZero:!0}),a=w(b,x,{left:110,right:20,top:20,bottom:36}),o=a.height/n.length,s=Math.max(4,Math.min(18,(o-8-4*(t.yKeys.length-1))/t.yKeys.length)),c=t.yKeys.length*s+(t.yKeys.length-1)*4,l=E(0,i,a.left,a.right),u=n.map((t,n)=>{let r=a.top+n*o+(o-c)/2,u=a.top+n*o+o/2+4;return`${`<text class="bk-chart-label" x="${A(a.left-8)}" y="${A(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=y[t%y.length],o=r+t*(s+4),c=E(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${A(u)}" y="${A(o)}" width="${A(d)}" height="${A(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${Ce(a,i)}<line class="bk-chart-axis" x1="${A(l)}" y1="${A(a.top)}" x2="${A(l)}" y2="${A(a.bottom)}" />${u}</svg>`}function pe(t,n){let r=xe(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:O(e[t.xKey]),value:k(e[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=ie/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=y[r%y.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?Oe(o,140,88,s,c,f):De(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let h=D(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${A(h.x)}" y="${A(h.y)}" text-anchor="${h.x>=o?`start`:`end`}">${e(t.label)} ${e(je(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${A(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${ie} ${ie}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function me(e){let t=xe(e.data,e.xKey,e.yKeys),n=e.data.map(e=>k(e[t]));if(n.every(e=>e===0))return``;let r=T(n),i=n.map((e,t)=>{let i=Ee(t,n.length,0,ae),a=E(e,r,S-2,2);return`${A(i)},${A(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ae} ${S}" width="100%" height="${S}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${y[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function he(t){let n=t.data.map(e=>({label:O(e[t.xKey]),values:t.yKeys.map(t=>k(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=T(r),a=w(b,x,{left:80,right:20,top:42,bottom:20}),o=a.width/t.yKeys.length,s=a.height/n.length;return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${A(a.left+n*o+o/2)}" y="28" text-anchor="middle">${e(t)}</text>`).join(``)}${n.map((t,n)=>{let r=a.top+n*s+s/2+4;return`<text class="bk-chart-label" x="${A(a.left-8)}" y="${A(r)}" text-anchor="end">${e(t.label)}</text>`}).join(``)}${n.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${A(r)}" y="${A(c)}" width="${A(o-4)}" height="${A(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${ke(e,i)}" />`}).join(``)).join(``)}</svg>`}function ge(t,n){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${t.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead><tbody>${n.map(n=>`<tr>${t.map(t=>`<td>${e(r(n[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function _e(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function ve(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function ye(t){return`<div class="bk-chart-legend">${t.map((t,n)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${y[n%y.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function be(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function xe(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ae(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ae(n[e]));if(e)return e}return n[0]??`value`}function C(e,t,n){return e.map(e=>({label:O(e[t]),values:n.map(t=>k(e[t]))}))}function Se(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.max-a*(n.max-n.min),s=t.top+a*t.height;return`<line class="bk-chart-grid" x1="${A(t.left)}" y1="${A(s)}" x2="${A(t.right)}" y2="${A(s)}" /><text class="bk-chart-label" x="${A(t.left-8)}" y="${A(s+4)}" text-anchor="end">${e(je(o))}</text>`}).join(``)}function Ce(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.min+a*(n.max-n.min),s=t.left+a*t.width;return`<line class="bk-chart-grid" x1="${A(s)}" y1="${A(t.top)}" x2="${A(s)}" y2="${A(t.bottom)}" /><text class="bk-chart-label" x="${A(s)}" y="${A(t.bottom+18)}" text-anchor="middle">${e(je(o))}</text>`}).join(``)}function we(e){return`<line class="bk-chart-axis" x1="${A(e.left)}" y1="${A(e.top)}" x2="${A(e.left)}" y2="${A(e.bottom)}" /><line class="bk-chart-axis" x1="${A(e.left)}" y1="${A(e.bottom)}" x2="${A(e.right)}" y2="${A(e.bottom)}" />`}function Te(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${A(n[i])}" y="${A(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function w(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function T(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Ee(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function E(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function De(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=D(e,t,n,r),o=D(e,t,n,i),s=+(i-r>180);return`M ${A(e)} ${A(t)} L ${A(a.x)} ${A(a.y)} A ${A(n)} ${A(n)} 0 ${s} 1 ${A(o.x)} ${A(o.y)} Z`}function Oe(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=D(e,t,n,i),s=D(e,t,n,a),c=D(e,t,r,a),l=D(e,t,r,i),u=+(a-i>180);return[`M ${A(o.x)} ${A(o.y)}`,`A ${A(n)} ${A(n)} 0 ${u} 1 ${A(s.x)} ${A(s.y)}`,`L ${A(c.x)} ${A(c.y)}`,`A ${A(r)} ${A(r)} 0 ${u} 0 ${A(l.x)} ${A(l.y)}`,`Z`].join(` `)}function D(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function ke(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${A(100-n)}%, var(--dt-accent-fg) ${A(n)}%)`}function O(e){return e==null?``:String(r(e))}function k(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Ae(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function je(e){return String(r(Number(e.toFixed(2))))}function A(e){return Number(e.toFixed(2)).toString()}var Me=`
|
|
442
442
|
/* ===== Base Styles ===== */
|
|
443
443
|
@keyframes strike-through {
|
|
444
444
|
from { width: 0; }
|
|
@@ -563,7 +563,7 @@
|
|
|
563
563
|
font-size: 0.75rem;
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
|
-
`;function
|
|
566
|
+
`;function Ne(t,n){return`<ul class="bk-checklist">${l(t).map((t,n)=>{let r=!!t.checked;return`<li class="bk-checklist-item" data-checked="${String(r)}" role="checkbox" aria-checked="${String(r)}" tabindex="0" style="--i: ${n}"><span class="bk-checklist-icon" aria-hidden="true">${r?`✓`:`×`}</span><span class="bk-checklist-label">${e(t.label)}</span></li>`}).join(``)}</ul>`}var Pe=`
|
|
567
567
|
.bk-code .bk-hljs-keyword {
|
|
568
568
|
color: var(--dt-purple-fg);
|
|
569
569
|
}
|
|
@@ -619,9 +619,9 @@
|
|
|
619
619
|
.bk-code .bk-hljs-property {
|
|
620
620
|
color: var(--dt-text-primary);
|
|
621
621
|
}
|
|
622
|
-
`,
|
|
623
|
-
`),a=[],o=!1;for(let t of i){if(o&&r.commentMultiClose){let n=r.commentMultiClose,i=t.indexOf(n);if(i!==-1){o=!1;let s=t.slice(0,i+n.length),c=t.slice(i+n.length),l=`<span class="bk-hljs-comment">${e(s)}</span>`;c.trim()&&(l+=
|
|
624
|
-
`)}var
|
|
622
|
+
`,Fe={javascript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.export.extends.false.finally.for.function.if.import.in.instanceof.let.new.null.of.return.static.super.switch.this.throw.true.try.typeof.undefined.var.void.while.with.yield`.split(`.`),builtins:[`console`,`Math`,`JSON`,`Promise`,`Array`,`Object`,`String`,`Number`,`Boolean`,`Map`,`Set`,`Symbol`,`RegExp`,`Date`,`Error`,`Proxy`,`Reflect`,`Buffer`,`setTimeout`,`setInterval`,`fetch`,`process`,`globalThis`,`Intl`,`BigInt`],types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},typescript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.enum.export.extends.false.finally.for.function.if.import.in.implements.infer.instanceof.interface.is.keyof.let.new.null.of.readonly.return.static.super.switch.satisfies.this.throw.true.try.typeof.type.undefined.using.var.void.while.with.yield`.split(`.`),builtins:`console.Math.JSON.Promise.Array.Object.String.Number.Boolean.Map.Set.Symbol.RegExp.Date.Error.Proxy.Reflect.Buffer.setTimeout.setInterval.fetch.process.globalThis.Intl.BigInt.Partial.Required.Readonly.Pick.Omit.Record.Exclude.Extract.NonNullable.Parameters.ReturnType.InstanceType.Awaited`.split(`.`),types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`,`object`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},python:{keywords:`False.None.True.and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`),builtins:`print.len.range.type.int.str.float.list.dict.set.tuple.bool.map.filter.zip.enumerate.reversed.sorted.open.input.isinstance.issubclass.hasattr.getattr.setattr.delattr.super.object.property.staticmethod.classmethod.self.cls.Exception.ValueError.TypeError.KeyError.IndexError.StopIteration`.split(`.`),types:[`int`,`float`,`str`,`bool`,`bytes`,`list`,`dict`,`set`,`tuple`,`None`,`Any`],commentSingle:`#`,stringDelims:[`"`,`'`],hashStrings:!0,operators:`+\\-*/%=<>!&|^~`},json:{keywords:[`true`,`false`,`null`],stringDelims:[`"`],operators:`:`,commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`},yaml:{keywords:[`true`,`false`,`yes`,`no`,`on`,`off`,`null`,`~`],commentSingle:`#`,stringDelims:[`"`,`'`],operators:`:\\-`},html:{keywords:[`!DOCTYPE`],commentMultiOpen:`\x3C!--`,commentMultiClose:`-->`,stringDelims:[`"`,`'`],operators:`=`},css:{keywords:[`import`,`media`,`keyframes`,`font-face`,`supports`,`charset`,`namespace`,`page`,`layer`,`container`],builtins:[`red`,`blue`,`green`,`white`,`black`,`transparent`,`currentcolor`,`inherit`,`initial`,`unset`,`revert`],commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`],operators:`:;`},shell:{keywords:[`if`,`then`,`else`,`elif`,`fi`,`for`,`while`,`do`,`done`,`case`,`esac`,`in`,`function`,`return`,`exit`,`break`,`continue`,`select`,`until`,`declare`,`local`,`export`,`readonly`,`unset`],builtins:`echo,printf,read,source,.,cd,pwd,ls,cat,grep,awk,sed,find,xargs,sort,uniq,wc,cut,tr,head,tail,tee,test,[,eval,exec,shift,type,command,let,mapfile,readarray,mkdir,rm,cp,mv,chmod,chown,docker,npm,node,git`.split(`,`),commentSingle:`#`,stringDelims:[`"`,`'`],operators:`=|<>`}},Ie={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function Le(e){return e?Fe[Ie[e.toLowerCase()]??e.toLowerCase()]??null:null}function Re(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t.stringDelims.includes(i)&&i!=="`"){let a=i;if(t.hashStrings&&e.slice(r,r+3)===a+a+a){n.push({type:`string`,value:a+a+a}),r+=3;let t=e.indexOf(a+a+a,r);t===-1?(n.push({type:`string`,value:e.slice(r)}),r=e.length):(n.push({type:`string`,value:e.slice(r,t)}),n.push({type:`string`,value:a+a+a}),r=t+3);continue}let o=a;for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){o+=e[r]+e[r+1],r+=2;continue}if(e[r]===a){o+=a,r++;break}o+=e[r],r++}n.push({type:`string`,value:o});continue}if(t.stringDelims.includes("`")&&i==="`"){let t="`";for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}if(e[r]==="`"){t+="`",r++;break}t+=e[r],r++}n.push({type:`string`,value:t});continue}if(t.commentSingle&&e.startsWith(t.commentSingle,r)){n.push({type:`comment`,value:e.slice(r)}),r=e.length;continue}if(t.commentMultiOpen&&t.commentMultiClose&&e.startsWith(t.commentMultiOpen,r)){let i=t.commentMultiClose,a=e.indexOf(i,r+t.commentMultiOpen.length);a===-1?(n.push({type:`comment`,value:e.slice(r)}),r=e.length):(n.push({type:`comment`,value:e.slice(r,a+i.length)}),r=a+i.length);continue}if(i===`0`&&r+1<e.length&&/[xXbB]/.test(e[r+1])&&t.commentSingle!==`#`){let t=e.slice(r).match(/^0[xX][0-9a-fA-F]+/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[0-9]/.test(i)||i===`.`&&r+1<e.length&&/[0-9]/.test(e[r+1])){let t=e.slice(r).match(/^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[a-zA-Z_$]/.test(i)||i===`@`){let i=e.slice(r).match(/^[@]?[a-zA-Z_$][a-zA-Z0-9_$]*/);if(i){let a=i[0],o=e=>e?e.includes(a):!1;if(o(t.keywords))n.push({type:`keyword`,value:a});else if(o(t.types))n.push({type:`keyword`,value:a});else if(o(t.builtins))n.push({type:`builtin`,value:a});else{let t=r+a.length;t<e.length&&e[t]===`(`?n.push({type:`function`,value:a}):n.push({type:`variable`,value:a})}r+=a.length;continue}}if(i===`<`&&t===Fe.html)if(r+1<e.length&&e[r+1]===`/`){let t=e.indexOf(`>`,r+2);if(t!==-1){n.push({type:`punctuation`,value:`</`}),n.push({type:`tag`,value:e.slice(r+2,t)}),n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}else{let t=e.indexOf(`>`,r+1);if(t!==-1){n.push({type:`punctuation`,value:`<`});let i=e.slice(r+1,t),a=i.match(/^[a-zA-Z][a-zA-Z0-9_-]*/);if(a){n.push({type:`tag`,value:a[0]});let e=a[0].length;for(;e<i.length;){if(i[e]===` `||i[e]===` `){e++;continue}let t=i.slice(e).match(/^[a-zA-Z_-][a-zA-Z0-9_-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?/);if(t){let r=t[0],i=r.indexOf(`=`);if(i!==-1){n.push({type:`variable`,value:r.slice(0,i).trim()}),n.push({type:`operator`,value:`=`});let e=r.slice(i+1).trim();e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?n.push({type:`string`,value:e}):n.push({type:`attr-value`,value:e})}else n.push({type:`attr-name`,value:r});e+=t[0].length;continue}break}}else n.push({type:`variable`,value:i});n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}if(t.operators&&!t._opRegex&&(t._opRegex=RegExp(`[${t.operators}]`)),t._opRegex?.test(i)){let t=i,a=i+(e[r+1]||``);[`=>`,`==`,`!=`,`<=`,`>=`,`&&`,`||`,`++`,`--`,`+=`,`-=`,`*=`,`/=`,`::`,`?.`,`??`,`?:`,`??=`].includes(a)?(t=a,r++):i+e.slice(r+1,r+3)===`...`&&(t=`...`,r+=2),n.push({type:`operator`,value:t}),r++;continue}if(/[{}()[\];,:.]/.test(i)){n.push({type:`punctuation`,value:i}),r++;continue}let a=e.slice(r).match(/^[^\s]+/);a?(n.push({type:`variable`,value:a[0]}),r+=a[0].length):(n.push({type:`variable`,value:i}),r++)}return n}var ze={keyword:`bk-hljs-keyword`,string:`bk-hljs-string`,comment:`bk-hljs-comment`,number:`bk-hljs-number`,builtin:`bk-hljs-builtin`,operator:`bk-hljs-operator`,punctuation:`bk-hljs-punctuation`,tag:`bk-hljs-tag`,"attr-name":`bk-hljs-attr-name`,"attr-value":`bk-hljs-attr-value`,function:`bk-hljs-function`,variable:`bk-hljs-variable`};function Be(t){if(!t.length)return``;let n=[],r=null,i=``,a=()=>{if(!i)return;let t=e(i);r&&!/^\s+$/.test(i)?n.push(`<span class="${r}">${t}</span>`):n.push(t),i=``,r=null};for(let o of t){let t=ze[o.type];if(/^\s+$/.test(o.value)||!t){i&&a(),n.push(e(o.value));continue}r===t?i+=o.value:(a(),r=t,i=o.value)}return a(),n.join(``)}function Ve(t,n){let r=Le(n);if(!r)return``;let i=t.split(`
|
|
623
|
+
`),a=[],o=!1;for(let t of i){if(o&&r.commentMultiClose){let n=r.commentMultiClose,i=t.indexOf(n);if(i!==-1){o=!1;let s=t.slice(0,i+n.length),c=t.slice(i+n.length),l=`<span class="bk-hljs-comment">${e(s)}</span>`;c.trim()&&(l+=Be(Re(c,r))),a.push(l);continue}a.push(`<span class="bk-hljs-comment">${e(t)}</span>`);continue}if(r.commentMultiOpen&&r.commentMultiClose){let n=t.indexOf(r.commentMultiOpen);if(n!==-1&&t.indexOf(r.commentMultiClose,n+r.commentMultiOpen.length)===-1){o=!0;let i=t.slice(0,n),s=``;i.trim()&&(s+=Be(Re(i,r))),s+=`<span class="bk-hljs-comment">${e(t.slice(n))}</span>`,a.push(s);continue}}a.push(Be(Re(t,r)))}return a.join(`
|
|
624
|
+
`)}var He=`
|
|
625
625
|
.bk-code {
|
|
626
626
|
margin: 0;
|
|
627
627
|
padding: var(--dt-space-5);
|
|
@@ -684,8 +684,8 @@
|
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
686
|
|
|
687
|
-
${
|
|
688
|
-
`;function
|
|
687
|
+
${Pe}
|
|
688
|
+
`;function Ue(t,r){let i=t.language?` language-${n(String(t.language))}`:``,a=t.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a),s=(t.language?Ve(o,String(t.language)):``)||e(o);return`<pre class="bk-code"><code class="${i.trim()}">${s}</code></pre>`}function We(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.items;return typeof t.title==`string`&&Array.isArray(n)&&n.every(e=>typeof e==`string`)}function Ge(e){let t=i(e);return Array.isArray(t)?t.filter(We):t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns.filter(We):[]}function Ke(e){let t=new Set,n=[];for(let r of e)for(let e of r.items)t.has(e)||(t.add(e),n.push(e));return n}function qe(e,t){if(e.length<2||t.length===0)return!1;let n=!1,r=!1;for(let i of t){let t=e.filter(e=>e.items.includes(i)).length;if(t>1&&(n=!0),t>0&&t<e.length&&(r=!0),n&&r)return!0}return!1}var Je=`
|
|
689
689
|
/* ── Comparison grid (CSS Grid for equal-height columns) ──────────────── */
|
|
690
690
|
.bk-comparison {
|
|
691
691
|
display: grid;
|
|
@@ -818,7 +818,7 @@ ${Ie}
|
|
|
818
818
|
padding: 2px var(--dt-space-2);
|
|
819
819
|
}
|
|
820
820
|
}
|
|
821
|
-
`;function
|
|
821
|
+
`;function Ye(t,n){let r=Ge(t.value),i=Ke(r),a=qe(r,i);return`<div class="bk-comparison">${r.map(t=>{let n=t.recommended===!0,r;if(a){let n=new Set(t.items);r=i.map(t=>`<li class="${n.has(t)?`bk-comparison-item-diff-present`:`bk-comparison-item-diff-absent`}">${e(t)}</li>`).join(``)}else r=t.items.map(t=>`<li>${e(t)}</li>`).join(``);return`<section class="bk-comparison-column"${n?` data-recommended="true"`:``}>${n?`<div class="bk-comparison-recommended-badge">Recommended</div>`:``}<div class="bk-comparison-title">${e(t.title)}</div><ul class="bk-comparison-items">${r}</ul></section>`}).join(``)}</div>`}function Xe(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`Untitled component`,description:typeof e.description==`string`?e.description:void 0,type:typeof e.type==`string`?e.type:void 0,technology:typeof e.technology==`string`?e.technology:void 0,responsibilities:Array.isArray(e.responsibilities)?e.responsibilities.map(String).filter(Boolean):[],interfaces:Array.isArray(e.interfaces)?e.interfaces:[],dependencies:Array.isArray(e.dependencies)?e.dependencies:[],metrics:e.metrics&&typeof e.metrics==`object`?e.metrics:void 0,codeLinks:Array.isArray(e.codeLinks)?e.codeLinks:[]}}return{name:`Untitled component`}}function Ze(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${t.map(t=>`<li>${e(t)}</li>`).join(``)}</ul></details>`}function Qe(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Interfaces</summary><div class="bk-component-detail-table-wrap"><table class="bk-component-detail-table"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody>${t.map(t=>`<tr><td class="bk-component-detail-code">${e(t.name)}</td><td class="bk-component-detail-code">${e(t.type)}</td><td>${e(t.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function $e(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${t.map(t=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${e(t.name)}</span>${t.relationship?`<span class="bk-component-detail-dependency-relationship">${e(t.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function et(t){let n=Object.entries(t??{});return n.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${n.map(([t,n])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${e(t)}</span><strong class="bk-component-detail-metric-value">${e(String(n))}</strong></div>`).join(``)}</div></details>`}function tt(n){let r=Array.isArray(n.codeLinks)?n.codeLinks:[];return r.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${r.map(n=>`<a class="bk-component-detail-link" href="${t(n.href)}">${e(n.label)}</a>`).join(``)}</div></details>`}var nt=`
|
|
822
822
|
.bk-component-detail {
|
|
823
823
|
display: grid;
|
|
824
824
|
gap: var(--dt-space-4);
|
|
@@ -1022,7 +1022,7 @@ ${Ie}
|
|
|
1022
1022
|
padding-bottom: var(--dt-space-3);
|
|
1023
1023
|
}
|
|
1024
1024
|
}
|
|
1025
|
-
`;function
|
|
1025
|
+
`;function rt(t,n){let r=Xe(t.value),i=r.description?`<p class="bk-component-detail-description">${e(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${e(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${e(r.technology)}</span>`:``,s=[Ze(r.responsibilities??[]),Qe(r.interfaces??[]),$e(r.dependencies??[]),et(r.metrics),tt(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${e(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function it(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`unnamed_schema`,description:typeof e.description==`string`?e.description:void 0,fields:Array.isArray(e.fields)?e.fields:[],indexes:Array.isArray(e.indexes)?e.indexes:[]}}return{name:`unnamed_schema`,fields:[]}}function at(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function ot(r){return r.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${t(`#${n(r.slice(12).replace(/\./g,`_`))}`)}">${e(r)}</a>`:`<span class="bk-data-table-schema-badge${r===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${e(r)}</span>`}function st(t){return t.length===0?``:`<section class="bk-data-table-schema-indexes"><h5 class="bk-data-table-schema-subtitle">Indexes</h5><div class="bk-data-table-schema-index-grid">${t.map(t=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${e(t.name)}</div><div class="bk-data-table-schema-index-columns">${e(t.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${t.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}var ct=`
|
|
1026
1026
|
.bk-data-table-schema {
|
|
1027
1027
|
display: grid;
|
|
1028
1028
|
gap: var(--dt-space-4);
|
|
@@ -1145,7 +1145,7 @@ ${Ie}
|
|
|
1145
1145
|
color: var(--dt-text-primary);
|
|
1146
1146
|
font-weight: 700;
|
|
1147
1147
|
}
|
|
1148
|
-
`;function
|
|
1148
|
+
`;function lt(t,r){let i=it(t.value),a=i.description?`<p class="bk-data-table-schema-description">${e(i.description)}</p>`:``;if(!Array.isArray(i.fields)||i.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=i.fields.map(t=>{let r=Array.isArray(t.constraints)?t.constraints:[],a=r.length>0?r.map(e=>ot(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${at(t)?` bk-data-table-schema-row--primary`:``}" id="${n(`${i.name}_${t.name}`)}"><td class="bk-data-table-schema-code">${e(t.name)}</td><td class="bk-data-table-schema-code">${e(t.type)}</td><td class="bk-data-table-schema-required">${t.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${e(t.default??`—`)}</td><td>${e(t.description??``)}</td></tr>`}).join(``);return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><div class="bk-data-table-schema-wrap"><table class="bk-data-table-schema-table"><thead><tr><th>Field Name</th><th>Type</th><th>Required</th><th>Constraints</th><th>Default</th><th>Description</th></tr></thead><tbody>${o}</tbody></table></div>${st(i.indexes??[])}</section>`}var j=`
|
|
1149
1149
|
.bk-diagram {
|
|
1150
1150
|
border: 1px solid var(--dt-border-default);
|
|
1151
1151
|
border-radius: var(--dt-radius-lg);
|
|
@@ -1246,7 +1246,7 @@ ${Ie}
|
|
|
1246
1246
|
max-width: 100%;
|
|
1247
1247
|
height: auto;
|
|
1248
1248
|
}
|
|
1249
|
-
`,
|
|
1249
|
+
`,ut={frontend:`🖥️`,backend:`⚙️`,database:`🗄️`,storage:`💾`,cloud:`☁️`,external:`🔗`,security:`🔒`,messagebus:`📨`,person:`👤`,actor:`👤`,system:`🏛️`,"start-end":`●`,automated:`🤖`,manual:`👆`,decision:`🔀`,branch:`🔀`,infrastructure:`📦`},dt=`📋`;function ft(e){return ut[e]??dt}var pt={frontend:`fill:var(--dt-agent-frontend,#38bdf8)`,backend:`fill:var(--dt-accent-subtle,#14b8a6)`,database:`fill:var(--dt-purple-subtle,#c084fc)`,storage:`fill:var(--dt-purple-subtle,#c084fc)`,cloud:`fill:var(--dt-info-subtle,#bae6fd)`,external:`fill:var(--dt-bg-tertiary,#64748b)`,security:`fill:var(--dt-danger-subtle,#fecaca)`,messagebus:`fill:var(--dt-warning-subtle,#fde68a)`,decision:`fill:var(--dt-danger-subtle,#fecaca)`,automated:`fill:var(--dt-success-subtle,#bbf7d0)`,manual:`fill:var(--dt-warning-subtle,#fde68a)`,person:`fill:var(--dt-accent-subtle,#ccfbf1)`,actor:`fill:var(--dt-accent-subtle,#ccfbf1)`,system:`fill:var(--dt-info-subtle,#bae6fd)`,infrastructure:`fill:var(--dt-bg-tertiary,#e2e8f0)`},mt={person:{open:`([`,close:`])`},actor:{open:`([`,close:`])`},database:{open:`[(`,close:`)]`},storage:{open:`[(`,close:`)]`},decision:{open:`{`,close:`}`},branch:{open:`{`,close:`}`},external:{open:`{{`,close:`}}`},system:{open:`{{`,close:`}}`},start:{open:`((`,close:`))`},end:{open:`((`,close:`))`}},ht={open:`[`,close:`]`};function gt(e){return mt[e]??ht}function M(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function N(e){return e.replace(/"/g,`#quot;`).replace(/\[/g,`#91;`).replace(/\]/g,`#93;`).replace(/\(/g,`#40;`).replace(/\)/g,`#41;`).replace(/\{/g,`#123;`).replace(/\}/g,`#125;`).replace(/`/g,`#96;`).replace(/\n/g,` `).replace(/\r/g,``)}function P(t,n){let r=t.value;if(!r||typeof r!=`object`)return`<div class="bk-diagram"><p class="bk-diagram-empty">No diagram data</p></div>`;let i=t.type??`unknown`,a=i.startsWith(`architecture`)?`architecture`:i.startsWith(`workflow`)?`workflow`:i.startsWith(`sequence`)?`sequence`:i.startsWith(`dataflow`)?`dataflow`:i.startsWith(`lifecycle`)?`lifecycle`:String(r.diagram_type??`unknown`),o=r.meta,s=String(o?.title??`Diagram`),c=_t(r.components??r.nodes??r.participants??r.states??[]),l=_t(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`graph TD`],d=new Set,f=new Map,p=0;for(let e of c){let t=M(String(e.id??e.label??e.name??`node`),p);if(p++,d.has(t))continue;d.add(t),f.set(t,e);let n=String(e.label??e.name??t),r=String(e.type??String(e.kind??``)),i=ft(r),a=e.technology?`<br><small>${N(String(e.technology))}</small>`:``,o=pt[r]??`fill:var(--dt-bg-secondary,#1e293b)`,s=gt(r),c=`${i} ${N(n)}`;u.push(` ${t}${s.open}"${c}${a}"${s.close}`),u.push(` style ${t} ${o}`)}for(let e of l){let t=String(e.from??e.source??``),n=String(e.to??e.target??``),r=M(t),i=M(n);if(!d.has(r)||!d.has(i))continue;let a=e.label?` -- "${N(String(e.label))}" --> `:` --> `;u.push(` ${r}${a}${i}`)}let m=d.size>0,h=u.join(`
|
|
1250
1250
|
`),g=[`<dt>Type</dt><dd>${e(a)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&g.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let _=``;c.length>0&&(_=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${c.slice(0,30).map(t=>{let n=String(t.label??t.name??`(unnamed)`),r=String(t.type??String(t.kind??`-`));return`<tr><td>${e(n)}</td><td>${e(r)}</td></tr>`}).join(``)}</tbody></table>${c.length>30?`<p class="bk-diagram-truncated">… and ${c.length-30} more</p>`:``}`);let v=``;return l.length>0&&(v=`<h4>Relationships</h4><ul>${l.slice(0,20).map(t=>{let n=String(t.from??t.source??`-`),r=String(t.to??t.target??`-`),i=t.label?`: ${e(String(t.label))}`:``;return`<li><strong>${e(n)}</strong> → <strong>${e(r)}</strong>${i}</li>`}).join(``)}</ul>${l.length>20?`<p class="bk-diagram-truncated">… and ${l.length-20} more relationships</p>`:``}`),m?`<div class="${`bk-diagram${m?` bk-diagram-has-viz`:``}`}">
|
|
1251
1251
|
<pre class="bk-diagram-viz mermaid">${e(h)}</pre>
|
|
1252
1252
|
<details class="bk-diagram-fallback">
|
|
@@ -1266,7 +1266,7 @@ ${Ie}
|
|
|
1266
1266
|
${v}
|
|
1267
1267
|
</div>
|
|
1268
1268
|
</details>
|
|
1269
|
-
</div>`}function
|
|
1269
|
+
</div>`}function _t(e){return Array.isArray(e)?e:[]}var vt=`
|
|
1270
1270
|
/* ── Diff Container ── */
|
|
1271
1271
|
.bk-diff {
|
|
1272
1272
|
overflow-x: auto;
|
|
@@ -1432,11 +1432,11 @@ ${Ie}
|
|
|
1432
1432
|
.bk-diff-body[data-expanded="true"] {
|
|
1433
1433
|
max-height: none;
|
|
1434
1434
|
}
|
|
1435
|
-
`;function
|
|
1435
|
+
`;function yt(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return bt(t.before,t.after)}return``}function bt(e,t){let n=e.split(`
|
|
1436
1436
|
`),r=t.split(`
|
|
1437
1437
|
`),i=[`--- a/previous`,`+++ a/current`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
|
|
1438
|
-
`)}function
|
|
1439
|
-
`),a=0,o=0,s=[],c=[];function l(){for(let t of c)s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${t.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t.line)}</td></tr>`);c.length=0}for(let t of i)if(t.startsWith(`@@`)){l();let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+\s*(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))l(),s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))if(c.length>0){let e=c.shift();o++;let{oldHtml:n,newHtml:r}=
|
|
1438
|
+
`)}function xt(t,n){let r=t.slice(1),i=n.slice(1);if(r===i)return{oldHtml:e(t),newHtml:e(n)};let a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)a++;let o=0,s=r.length-a,c=i.length-a;for(;o<s&&o<c&&r[r.length-1-o]===i[i.length-1-o];)o++;let l=e(r.slice(0,a)),u=e(r.slice(a,r.length-o)),d=e(i.slice(a,i.length-o)),f=e(r.slice(r.length-o));return{oldHtml:u.length>0?`-${l}<span class="bk-diff-word-del">${u}</span>${f}`:`-${l}${f}`,newHtml:d.length>0?`+${l}<span class="bk-diff-word-add">${d}</span>${f}`:`+${l}${f}`}}function St(t,n){let r=yt(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
|
|
1439
|
+
`),a=0,o=0,s=[],c=[];function l(){for(let t of c)s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${t.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t.line)}</td></tr>`);c.length=0}for(let t of i)if(t.startsWith(`@@`)){l();let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+\s*(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))l(),s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))if(c.length>0){let e=c.shift();o++;let{oldHtml:n,newHtml:r}=xt(e.line,t);s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${e.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n}</td></tr>`),s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${r}</td></tr>`)}else o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(t)}</td></tr>`);else if(t.startsWith(`-`))a++,c.push({line:t,oldLnVal:a});else{l(),a++,o++;let n=t.startsWith(` `)?t:` ${t}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(n)}</td></tr>`)}l();let u=i.length>25;return`<div class="bk-diff">${`<div class="bk-diff-toolbar">${u?`<button class="bk-diff-btn bk-diff-expand" data-expand-text="▼ Expand" data-collapse-text="▲ Collapse">▼ Expand</button>`:``}${`<button class="bk-diff-btn bk-diff-copy" data-diff="${encodeURIComponent(r)}">\uD83D\uDCCB Copy</button>`}</div>`}<script>(function(){var c=document.currentScript;if(!c)return;var d=c.parentElement;if(!d)return;var b=d.querySelector('.bk-diff-body');if(!b)return;var e=d.querySelector('.bk-diff-expand');if(e){e.addEventListener('click',function(){var l=b.dataset.collapsed==='true';b.dataset.collapsed=l?'false':'true';b.dataset.expanded=l?'true':'false';e.textContent=l?e.dataset.collapseText:e.dataset.expandText;})}var p=d.querySelector('.bk-diff-copy');if(p&&navigator.clipboard){p.addEventListener('click',function(){navigator.clipboard.writeText(decodeURIComponent(p.dataset.diff)).then(function(){p.dataset.copied='true';setTimeout(function(){delete p.dataset.copied},2000)})})}})();<\/script><div class="bk-diff-body"${u?` data-collapsed="true"`:``}><table class="bk-diff-table">${s.join(``)}</table></div></div>`}function Ct(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var wt=`
|
|
1440
1440
|
.bk-docs-browser {
|
|
1441
1441
|
display: grid;
|
|
1442
1442
|
gap: var(--dt-space-3);
|
|
@@ -1481,7 +1481,7 @@ ${Ie}
|
|
|
1481
1481
|
font-size: var(--dt-font-size-xs);
|
|
1482
1482
|
font-weight: 700;
|
|
1483
1483
|
}
|
|
1484
|
-
`;function
|
|
1484
|
+
`;function Tt(t,n){return`<div class="bk-docs-browser">${Ct(t.value).map(t=>{let n=c(t.status),r=t.title?`<div class="bk-doc-title">${e(t.title)}</div>`:``,i=t.content?`<pre class="bk-doc-content">${e(t.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${e(t.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function Et(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,description:typeof e.description==`string`?e.description:void 0,pages:Array.isArray(e.pages)?e.pages:[]}}return{pages:[]}}function Dt(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function Ot(n){let r=n.href?`a`:`article`,i=n.href?` href="${t(n.href)}"`:``,a=n.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${e(n.icon)}</span>`:``,o=n.description?`<p class="bk-docs-hub-card-description">${e(n.description)}</p>`:``,s=n.category?`<span class="bk-docs-hub-card-category">${e(n.category)}</span>`:``,c=n.status?`<span class="bk-docs-hub-card-status" data-tone="${Dt(n.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${e(n.status)}</span>`:``;return`<${r} class="bk-docs-hub-card"${i}><div class="bk-docs-hub-card-head">${a}<div class="bk-docs-hub-card-copy"><div class="bk-docs-hub-card-title">${e(n.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${r}>`}var kt=`
|
|
1485
1485
|
.bk-docs-hub {
|
|
1486
1486
|
display: grid;
|
|
1487
1487
|
gap: var(--dt-space-4);
|
|
@@ -1617,7 +1617,7 @@ ${Ie}
|
|
|
1617
1617
|
grid-template-columns: minmax(0, 1fr);
|
|
1618
1618
|
}
|
|
1619
1619
|
}
|
|
1620
|
-
`;function
|
|
1620
|
+
`;function At(t,n){let r=Et(t.value),i=r.title?`<h4 class="bk-docs-hub-title">${e(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${e(r.description)}</p>`:``,o=Array.isArray(r.pages)?r.pages:[];return`<section class="bk-docs-hub"><div class="bk-docs-hub-header">${i}${a}</div>${o.length>0?`<div class="bk-docs-hub-grid">${o.map(e=>Ot(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function jt(e){let t=i(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}var Mt=`
|
|
1621
1621
|
.bk-finding {
|
|
1622
1622
|
display: grid;
|
|
1623
1623
|
gap: var(--dt-space-3);
|
|
@@ -1664,7 +1664,7 @@ ${Ie}
|
|
|
1664
1664
|
line-height: 1.7;
|
|
1665
1665
|
font-size: var(--dt-font-size-sm);
|
|
1666
1666
|
}
|
|
1667
|
-
`;function
|
|
1667
|
+
`;function Nt(t,n){let r=jt(t),i=c(r.severity),o=r.detail===void 0?``:a(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${e(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${e(r.severity??`info`)}</span></div><div class="bk-finding-detail">${o}</div></article>`}function F(e){return typeof e==`object`&&!!e}function I(e){return F(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(I).filter(e=>e!==null):[]}:null}function Pt(e){let t=[],n=[{node:e,depth:0}];for(;n.length>0;){let e=n.shift();if(!e)continue;let{node:r,depth:i}=e;t[i]||(t[i]=[]),t[i].push(r);for(let e of r.children??[])n.push({node:e,depth:i+1})}return t}function Ft(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var It=`
|
|
1668
1668
|
.bk-flame {
|
|
1669
1669
|
display: grid;
|
|
1670
1670
|
gap: 1px;
|
|
@@ -1709,10 +1709,10 @@ ${Ie}
|
|
|
1709
1709
|
font-size: 10px;
|
|
1710
1710
|
}
|
|
1711
1711
|
}
|
|
1712
|
-
`;function
|
|
1712
|
+
`;function Lt(t,n){let r=i(t.value);if(!F(r))return`<div class="bk-flame"></div>`;let a=F(r.profile)?I(r.profile):I(r);if(!a)return`<div class="bk-flame"></div>`;let o=Pt(a),s=Math.max(a.total,1);return`<div class="bk-flame">${o.map((t,n)=>`<div class="bk-flame-row">${t.map(t=>{let r=Math.max(.5,t.total/s*100),i=r<8?` bk-flame-bar-label--muted`:``,a=(t.children?.length??0)>0,o=t.self===void 0?`${e(t.name)}: ${t.total}`:`${e(t.name)}: ${t.total} (self: ${t.self})`;return`<div class="bk-flame-bar" style="width:${r}%;background:${Ft(n)}" title="${o}" data-has-children="${a}">
|
|
1713
1713
|
<span class="bk-flame-bar-label${i}">${e(t.name)} (${t.total})</span>
|
|
1714
1714
|
</div>`}).join(``)}</div>`).join(`
|
|
1715
|
-
`)}</div>`}function
|
|
1715
|
+
`)}</div>`}function Rt(e){return String(e??``).replace(/"/g,`\\"`)}var zt=`
|
|
1716
1716
|
.bk-graph {
|
|
1717
1717
|
margin: 0;
|
|
1718
1718
|
padding: var(--dt-space-4);
|
|
@@ -1725,8 +1725,8 @@ ${Ie}
|
|
|
1725
1725
|
font-size: var(--dt-font-size-sm);
|
|
1726
1726
|
line-height: 1.6;
|
|
1727
1727
|
}
|
|
1728
|
-
`;function
|
|
1729
|
-
`))}</pre>`}var
|
|
1728
|
+
`;function Bt(t,r){let a=i(t.value),o=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(t.direction??`TD`))?String(t.direction??`TD`):`TD`}`];for(let e of a?.nodes??[]){let t=n(String(e.id??e.name??`node`)),r=Rt(e.label??e.name??t);o.push(` ${t}["${r}"]`)}for(let e of a?.edges??[]){let t=n(String(e.from??e.source??`from`)),r=n(String(e.to??e.target??`to`)),i=e.label?`|${Rt(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
|
|
1729
|
+
`))}</pre>`}var Vt=`
|
|
1730
1730
|
.bk-heading {
|
|
1731
1731
|
margin: 0;
|
|
1732
1732
|
color: var(--dt-text-primary);
|
|
@@ -1741,7 +1741,7 @@ ${Ie}
|
|
|
1741
1741
|
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
1742
1742
|
.bk-heading--5,
|
|
1743
1743
|
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
1744
|
-
`;function
|
|
1744
|
+
`;function Ht(t,n){let r=Number(t.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${e(String(t.value??t.title??``))}</h${i}>`}function Ut(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{key:r(t.key),value:r(t.value)}]}):e&&typeof e==`object`?Object.entries(e).map(([e,t])=>({key:e,value:r(t)})):[]}var Wt=`
|
|
1745
1745
|
.bk-kv {
|
|
1746
1746
|
display: grid;
|
|
1747
1747
|
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
@@ -1773,7 +1773,7 @@ ${Ie}
|
|
|
1773
1773
|
font-size: var(--dt-font-size-sm);
|
|
1774
1774
|
line-height: 1.5;
|
|
1775
1775
|
}
|
|
1776
|
-
`;function
|
|
1776
|
+
`;function Gt(e,t){return`<dl class="bk-kv">${Ut(e.value).map(e=>`<div class="bk-kv-entry"><dt class="bk-kv-key">${a(e.key)}</dt><dd class="bk-kv-value">${a(e.value)}</dd></div>`).join(``)}</dl>`}var Kt=164,qt=84,Jt=44,Yt=32,Xt=28;function Zt(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,steps:Array.isArray(e.steps)?e.steps:[],edges:Array.isArray(e.edges)?e.edges:[]}}return{steps:[],edges:[]}}function Qt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function $t(e,t){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return[``];let r=[],i=``;for(let e of n){let n=i?`${i} ${e}`:e;if(n.length<=t||i.length===0){i=n;continue}if(r.push(i),i=e,r.length===1)break}return i&&r.push(i),r.length>2?r.slice(0,2):(r.length===2&&n.join(` `).length>r[0].length+r[1].length&&(r[1]=`${r[1].slice(0,Math.max(0,t-1))}…`),r)}function en(e){return e.type===`decision`?{width:112,height:112}:{width:Kt,height:qt}}function tn(e){let t=Yt;return e.map(e=>{let{width:n,height:r}=en(e),i={step:e,x:t,y:Xt,width:n,height:r,centerX:t+n/2,centerY:Xt+r/2};return t+=n+Jt,i})}function nn(t){let r=$t(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?$t(t.step.description,t.step.type===`decision`?12:18).slice(0,1):[],a=t.centerY-(r.length+i.length-1)*18/2,o=[...r.map((n,r)=>`<text class="bk-lifecycle-flow-label" x="${t.centerX}" y="${a+r*18}">${e(n)}</text>`),...i.map((n,i)=>`<text class="bk-lifecycle-flow-description" x="${t.centerX}" y="${a+(r.length+i)*18}">${e(n)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="18" ry="18" />`;t.step.type===`start`||t.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="40" ry="40" />`:t.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${t.centerX},${t.y}`} ${`${t.x+t.width},${t.centerY}`} ${`${t.centerX},${t.y+t.height}`} ${`${t.x},${t.centerY}`}" />`);let c=t.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${t.x+18}" y1="${t.y+18}" x2="${t.x+18}" y2="${t.y+t.height-18}" /><line x1="${t.x+t.width-18}" y1="${t.y+18}" x2="${t.x+t.width-18}" y2="${t.y+t.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${t.step.type??`step`} bk-lifecycle-flow-node--${Qt(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function rn(t,n){let r=n.get(t.from),i=n.get(t.to);if(!r||!i)return``;let a=r.x+r.width,o=r.centerY,s=i.x,c=i.centerY,l=Math.round((a+s)/2);return`${`<path class="bk-lifecycle-flow-edge" d="M ${a} ${o} C ${l} ${o} ${l} ${c} ${s} ${c}" marker-end="url(#bk-lifecycle-flow-arrow)" />`}${t.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${e(t.label)}</text>`:``}`}function an(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var on=`
|
|
1777
1777
|
.bk-lifecycle-flow {
|
|
1778
1778
|
display: grid;
|
|
1779
1779
|
gap: var(--dt-space-3);
|
|
@@ -1867,7 +1867,7 @@ ${Ie}
|
|
|
1867
1867
|
.bk-lifecycle-flow-node--slate {
|
|
1868
1868
|
color: var(--dt-text-secondary);
|
|
1869
1869
|
}
|
|
1870
|
-
`;function
|
|
1870
|
+
`;function sn(t,n){let r=Zt(t.value),i=Array.isArray(r.steps)?r.steps.filter(e=>e?.id):[];if(i.length===0)return`<div class="bk-lifecycle-flow"><p class="bk-docs-hub-empty">No lifecycle steps available.</p></div>`;let a=tn(i),o=new Map(a.map(e=>[e.step.id,e])),s=an(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+Yt);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${e(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${e(r.title??`Lifecycle flow`)}"><defs><marker id="bk-lifecycle-flow-arrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--dt-border-default)" /></marker></defs><g class="bk-lifecycle-flow-edges">${s.map(e=>rn(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>nn(e)).join(``)}</g></svg></div></figure>`}var cn=`
|
|
1871
1871
|
.bk-list {
|
|
1872
1872
|
display: grid;
|
|
1873
1873
|
gap: var(--dt-space-2);
|
|
@@ -1896,16 +1896,16 @@ ${Ie}
|
|
|
1896
1896
|
box-shadow: 0 0 0 3px var(--dt-accent-subtle);
|
|
1897
1897
|
transform: translateY(-50%);
|
|
1898
1898
|
}
|
|
1899
|
-
`;function
|
|
1900
|
-
${
|
|
1899
|
+
`;function ln(e,t){return`<ul class="bk-list">${(Array.isArray(e.value)?e.value:[]).map(e=>`<li class="bk-list-item">${a(String(e??``))}</li>`).join(``)}</ul>`}var un=`
|
|
1900
|
+
${Vt}
|
|
1901
1901
|
.bk-markdown {
|
|
1902
1902
|
color: var(--dt-text-primary);
|
|
1903
1903
|
font-size: var(--dt-font-size-base);
|
|
1904
1904
|
line-height: 1.7;
|
|
1905
1905
|
}
|
|
1906
|
-
`,
|
|
1907
|
-
`),r=(c?
|
|
1908
|
-
`),r=(c?
|
|
1906
|
+
`,dn=/^(#{1,6})\s+(.+)$/,fn=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function pn(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function mn(t,n){let r=String(t.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=pn(a);e&&(i.push(e),a.length=0)};for(let t of r.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){if(!o)l(),o=!0,c=n.slice(3).trim(),s=[];else{let t=c?` class="${e(c)}"`:``,n=s.join(`
|
|
1907
|
+
`),r=(c?Ve(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(dn);if(r){l();let[,t,n]=r,a=t.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${e(n)}</h${a}>`);continue}if(fn.test(n)){l(),i.push(`<hr>`);continue}a.push(t)}if(l(),o&&s.length>0){let t=c?` class="${e(c)}"`:``,n=s.join(`
|
|
1908
|
+
`),r=(c?Ve(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var hn=`
|
|
1909
1909
|
.bk-mermaid {
|
|
1910
1910
|
margin: 0;
|
|
1911
1911
|
padding: var(--dt-space-4);
|
|
@@ -1947,7 +1947,7 @@ ${Ht}
|
|
|
1947
1947
|
font-size: 0.75rem;
|
|
1948
1948
|
}
|
|
1949
1949
|
}
|
|
1950
|
-
`;function
|
|
1950
|
+
`;function gn(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function _n(t){if(t==null||t===``)return``;let n=r(t);if(/^[↑↓→]/.test(n))return`<span class="bk-metric-trend">${e(n)}</span>`;let i=Number(String(t).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(i)?``:i>0?`↑ `:i<0?`↓ `:`→ `}${e(n)}</span>`}var vn=`
|
|
1951
1951
|
.bk-metrics {
|
|
1952
1952
|
display: grid;
|
|
1953
1953
|
grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
|
|
@@ -2014,14 +2014,14 @@ ${Ht}
|
|
|
2014
2014
|
font-size: var(--dt-font-size-xl);
|
|
2015
2015
|
}
|
|
2016
2016
|
}
|
|
2017
|
-
`;function
|
|
2017
|
+
`;function yn(t,n){return`<div class="bk-metrics">${l(t).map((t,n)=>`<article class="bk-metric" data-tone="${c(t.status)}" style="--i: ${n}"><div class="bk-metric-label">${e(t.label)}</div><div class="bk-metric-value">${e(r(t.value))}</div>${_n(t.trend)}</article>`).join(``)}</div>`}var bn=`
|
|
2018
2018
|
.bk-paragraph {
|
|
2019
2019
|
margin: 0;
|
|
2020
2020
|
color: var(--dt-text-primary);
|
|
2021
2021
|
font-size: var(--dt-font-size-base);
|
|
2022
2022
|
line-height: 1.7;
|
|
2023
2023
|
}
|
|
2024
|
-
`;function
|
|
2024
|
+
`;function xn(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function Sn(e){let t=i(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`){if(Array.isArray(t.items))return t.items;if(`value`in t)return[t]}return[]}var Cn=`
|
|
2025
2025
|
@keyframes glow-pulse {
|
|
2026
2026
|
0%, 100% {
|
|
2027
2027
|
box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 12px var(--bar-glow);
|
|
@@ -2075,7 +2075,7 @@ ${Ht}
|
|
|
2075
2075
|
.bk-progress-item:nth-child(n+11) .bk-progress-bar {
|
|
2076
2076
|
animation-delay: 0ms, 800ms;
|
|
2077
2077
|
}
|
|
2078
|
-
`;function
|
|
2078
|
+
`;function wn(t,n){return`<div class="bk-progress">${Sn(t.value).map((t,n)=>{let r=Math.max(1,Number(t.max)||100),i=Math.max(0,Number(t.value)||0),a=Math.round(Math.min(i/r*100,100)),o=c(t.color);return`<div class="bk-progress-item" style="--i: ${n}"><div class="bk-progress-meta"><span>${e(t.label)}</span><span>${a}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" role="progressbar" aria-valuenow="${i}" aria-valuemin="0" aria-valuemax="${r}" aria-label="${e(t.label)}" style="width:${a}%;background:var(--dt-${o}-emphasis);--bar-glow:var(--dt-glow-${o});"></span></div></div>`}).join(``)}</div>`}function Tn(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var En=`
|
|
2079
2079
|
.bk-prompt {
|
|
2080
2080
|
margin: 0;
|
|
2081
2081
|
padding: var(--dt-space-4);
|
|
@@ -2089,13 +2089,13 @@ ${Ht}
|
|
|
2089
2089
|
line-height: 1.6;
|
|
2090
2090
|
white-space: pre-wrap;
|
|
2091
2091
|
}
|
|
2092
|
-
`;function
|
|
2092
|
+
`;function Dn(t,n){return`<pre class="bk-prompt">${e(Tn(t.value))}</pre>`}var On=`
|
|
2093
2093
|
.bk-separator {
|
|
2094
2094
|
margin: var(--dt-space-6) 0;
|
|
2095
2095
|
border: 0;
|
|
2096
2096
|
border-top: 1px solid var(--dt-border-default);
|
|
2097
2097
|
}
|
|
2098
|
-
`;function
|
|
2098
|
+
`;function kn(e,t){return`<hr class="bk-separator">`}var An={green:`success`,blue:`accent`,yellow:`warning`,orange:`warning`,red:`danger`,purple:`accent`,teal:`success`,gray:`accent`,grey:`accent`};function jn(e){if(!e)return`accent`;let t=e.toLowerCase();return An[t]||(/^#[0-9a-f]{3,8}$/i.test(t)?`accent`:c(t))}function Mn(e){return e?/^#[0-9a-f]{3,8}$/i.test(e.trim()):!1}var Nn=`
|
|
2099
2099
|
.bk-stat-group {
|
|
2100
2100
|
display: grid;
|
|
2101
2101
|
grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
|
|
@@ -2186,7 +2186,7 @@ ${Ht}
|
|
|
2186
2186
|
font-size: 0.625rem;
|
|
2187
2187
|
}
|
|
2188
2188
|
}
|
|
2189
|
-
`;function
|
|
2189
|
+
`;function Pn(t,n){let i=t.value,a=[];if(Array.isArray(i))a=i;else if(i&&typeof i==`object`&&`items`in i){let e=i;Array.isArray(e.items)&&(a=e.items)}return a.length===0?`<div class="bk-stat-group"></div>`:`<div class="bk-stat-group">${a.map((t,n)=>{let i=Mn(t.color)?` style="--stat-bar-color: ${e(t.color?.trim()??``)}; --stat-text-color: ${e(t.color?.trim()??``)}"`:``;return`<article class="bk-stat-card"${i?``:` data-tone="${jn(t.color)}"`}${i} style="--i: ${n}"><div class="bk-stat-value">${e(r(t.value))}</div><div class="bk-stat-label">${e(t.label)}</div></article>`}).join(``)}</div>`}function Fn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var In=`
|
|
2190
2190
|
.bk-status-board {
|
|
2191
2191
|
display: grid;
|
|
2192
2192
|
gap: var(--dt-space-4);
|
|
@@ -2244,7 +2244,7 @@ ${Ht}
|
|
|
2244
2244
|
.bk-status-description {
|
|
2245
2245
|
color: var(--dt-text-secondary);
|
|
2246
2246
|
}
|
|
2247
|
-
`;function
|
|
2247
|
+
`;function Ln(t,n){return`<div class="bk-status-board">${Fn(t.value).map(t=>{let n=t.items.map(t=>{let n=c(t.status),r=t.description?`<div class="bk-status-description">${e(t.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${e(t.label??t.name??``)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${e(t.category)}</div><div class="bk-status-items">${n}</div></section>`}).join(``)}</div>`}function Rn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function zn(e){let t=(e??[]).map(e=>{if(Rn(e)){let t=typeof e.key==`string`?e.key:String(e.label??``);return{key:t,label:typeof e.label==`string`?e.label:t}}let t=String(e);return{key:t,label:t}});return{headers:t.map(e=>e.label),keys:t.map(e=>e.key)}}function Bn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=zn(e.columns),r=Array.isArray(e.rows)?e.rows:[];return r.length>0&&Array.isArray(r[0])?{headers:t,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]??``])))}:r.length>0&&typeof r[0]==`object`&&r[0]!==null?{headers:t,keys:n,rows:r}:{headers:t,keys:n,rows:[]}}let t=i(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t,r=Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{});return{headers:r,keys:r,rows:n}}if(t.length>0&&Array.isArray(t[0])){let[n,...r]=t,i=Array.isArray(e.headers)?e.headers.map(String):n.map(String);return{headers:i,keys:i,rows:r.map(e=>Object.fromEntries(i.map((t,n)=>[t,e[n]])))}}}if(t&&typeof t==`object`){let n=Array.isArray(e.headers)?e.headers.map(String):Array.isArray(t.headers)?t.headers.map(String):[],r=Array.isArray(t.rows)?t.rows:[];if(r.length>0&&Array.isArray(r[0]))return{headers:n,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]])))};if(r.length>0&&typeof r[0]==`object`&&r[0]!==null)return{headers:n,keys:n,rows:r}}if(Array.isArray(e.headers)){let t=e.headers.map(String);return{headers:t,keys:t,rows:[]}}if(Array.isArray(e.columns)){let{headers:t,keys:n}=zn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var Vn=`
|
|
2248
2248
|
/* ── Scroll fade mask (indicates overflow) ── */
|
|
2249
2249
|
.bk-table-wrap {
|
|
2250
2250
|
overflow-x: auto;
|
|
@@ -2400,7 +2400,7 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2400
2400
|
font-size: 1.5rem;
|
|
2401
2401
|
opacity: 0.5;
|
|
2402
2402
|
}
|
|
2403
|
-
`;function
|
|
2403
|
+
`;function Hn(t,n){let{headers:i,keys:a,rows:o}=Bn(t);if(i.length===0)return`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`;let s=n=>{let r=t.sorted===n,i=r&&t.sortDir!==`desc`,a=i?`▲`:r?`▼`:`⇅`;return`<th${r?` aria-sort="${i?`ascending`:`descending`}"`:``}>${e(n)}<span class="bk-table-sort-icon">${a}</span></th>`},c=`<thead><tr>${i.map(e=>s(e)).join(``)}</tr></thead>`,l=o.length>0&&a.length>2?` data-scrollable="true"`:``,u;return u=o.length===0?`<tr><td colspan="${i.length}"><div class="bk-table-empty"><span class="bk-table-empty-icon" aria-hidden="true">📋</span>No data</div></td></tr>`:o.map(t=>`<tr>${a.map(n=>`<td>${e(r(t[n]))}</td>`).join(``)}</tr>`).join(``),`<div class="bk-table-wrap"${l}><table class="bk-table">${c}<tbody>${u}</tbody></table></div>`}function Un(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var Wn=`
|
|
2404
2404
|
.bk-tags {
|
|
2405
2405
|
display: flex;
|
|
2406
2406
|
flex-wrap: wrap;
|
|
@@ -2418,13 +2418,13 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2418
2418
|
font-weight: 600;
|
|
2419
2419
|
letter-spacing: 0.02em;
|
|
2420
2420
|
}
|
|
2421
|
-
`;function
|
|
2421
|
+
`;function Gn(t,n){return`<div class="bk-tags">${Un(t.value).map(t=>{let n=typeof t==`string`?t:String(t.text??t.label??``),r=c(typeof t==`string`?void 0:t.status??t.tone??t.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${e(n)}</span>`}).join(``)}</div>`}var Kn=`
|
|
2422
2422
|
.bk-text {
|
|
2423
2423
|
color: var(--dt-text-primary);
|
|
2424
2424
|
font-size: var(--dt-font-size-base);
|
|
2425
2425
|
line-height: 1.7;
|
|
2426
2426
|
}
|
|
2427
|
-
`;function
|
|
2427
|
+
`;function qn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Jn=`
|
|
2428
2428
|
.bk-timeline {
|
|
2429
2429
|
display: grid;
|
|
2430
2430
|
gap: var(--dt-space-4);
|
|
@@ -2494,7 +2494,7 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2494
2494
|
height: 0.5rem;
|
|
2495
2495
|
}
|
|
2496
2496
|
}
|
|
2497
|
-
`;function
|
|
2497
|
+
`;function Yn(t,n){return`<div class="bk-timeline">${l(t).map(t=>{let n=c(t.status),r=t.description?`<div class="bk-timeline-description">${e(t.description)}</div>`:``,i=t.timestamp?`<div class="bk-timeline-timestamp">${e(t.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${n}"><span class="bk-timeline-dot" style="background:${`var(--dt-${n}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${n});"></span><div class="bk-timeline-title">${e(t.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function L(t,n){if(Array.isArray(t)){let r=t.map(e=>L(e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(t&&typeof t==`object`){let r=t,i=typeof r.name==`string`?r.name:typeof r.label==`string`?r.label:typeof r.title==`string`?r.title:void 0;if(i!==void 0)return L(r.children??[],i);let a=Object.entries(r).map(([e,t])=>L(t,e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${a}</div></details>`:`<div class="bk-tree-children">${a}</div>`}let i=e(r(t));return n?`<div class="bk-tree-leaf"><span class="bk-tree-key">${e(n)}</span><span class="bk-tree-value">${i}</span></div>`:`<div class="bk-tree-leaf">${i}</div>`}var Xn=`
|
|
2498
2498
|
.bk-tree {
|
|
2499
2499
|
display: grid;
|
|
2500
2500
|
gap: var(--dt-space-2);
|
|
@@ -2526,7 +2526,7 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2526
2526
|
.bk-tree-key {
|
|
2527
2527
|
color: var(--dt-text-primary);
|
|
2528
2528
|
}
|
|
2529
|
-
`;function
|
|
2529
|
+
`;function Zn(e,t){return`<div class="bk-tree">${L(i(e.value))}</div>`}var R={actions:d,alert:_,cards:te,chart:oe,checklist:Me,code:He,"architecture-diagram":j,"workflow-diagram":j,"sequence-diagram":j,"dataflow-diagram":j,"lifecycle-diagram":j,diff:vt,comparison:Je,"component-detail":nt,"data-table-schema":ct,"docs-browser":wt,"docs-hub":kt,finding:Mt,"flame-graph":It,graph:zt,heading:Vt,kv:Wt,"lifecycle-flow":on,list:cn,markdown:un,mermaid:hn,metrics:vn,paragraph:bn,progress:Cn,prompt:En,separator:On,"stat-group":Nn,"status-board":In,table:Vn,tags:Wn,text:Kn,timeline:Jn,tree:Xn},Qn=`
|
|
2530
2530
|
${ee}
|
|
2531
2531
|
.bk-section {
|
|
2532
2532
|
display: grid;
|
|
@@ -2545,6 +2545,29 @@ ${ee}
|
|
|
2545
2545
|
line-height: 1.3;
|
|
2546
2546
|
}
|
|
2547
2547
|
|
|
2548
|
+
/* Heading styles — in baseCss because markdown is the universal fallback renderer */
|
|
2549
|
+
.bk-heading {
|
|
2550
|
+
margin: 0;
|
|
2551
|
+
color: var(--dt-text-primary);
|
|
2552
|
+
font-family: var(--dt-font-sans);
|
|
2553
|
+
font-weight: 700;
|
|
2554
|
+
line-height: 1.2;
|
|
2555
|
+
letter-spacing: -0.02em;
|
|
2556
|
+
}
|
|
2557
|
+
.bk-heading--1 { font-size: var(--dt-font-size-4xl); letter-spacing: -0.03em; }
|
|
2558
|
+
.bk-heading--2 { font-size: var(--dt-font-size-3xl); }
|
|
2559
|
+
.bk-heading--3 { font-size: var(--dt-font-size-2xl); }
|
|
2560
|
+
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
2561
|
+
.bk-heading--5,
|
|
2562
|
+
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
2563
|
+
|
|
2564
|
+
/* Markdown content — in baseCss because fallback blocks render as markdown */
|
|
2565
|
+
.bk-markdown {
|
|
2566
|
+
color: var(--dt-text-primary);
|
|
2567
|
+
font-size: var(--dt-font-size-base);
|
|
2568
|
+
line-height: 1.7;
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2548
2571
|
/* ── Responsive section titles ── */
|
|
2549
2572
|
@media (max-width: 480px) {
|
|
2550
2573
|
.bk-section-title {
|
|
@@ -2686,7 +2709,7 @@ blockquote {
|
|
|
2686
2709
|
border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0;
|
|
2687
2710
|
color: var(--dt-text-secondary);
|
|
2688
2711
|
}
|
|
2689
|
-
|
|
2712
|
+
`,$n=`
|
|
2690
2713
|
@media print {
|
|
2691
2714
|
.aikit-header,.aikit-footer,.aikit-toolbox,.aikit-toolbox-toggle,.aikit-toolbox-menu,
|
|
2692
2715
|
.aikit-theme-toggle,.aikit-copy-status,.aikit-glow-primary,.aikit-glow-secondary {
|
|
@@ -2720,20 +2743,20 @@ blockquote {
|
|
|
2720
2743
|
.bk-text,.bk-markdown,.bk-paragraph,.bk-finding { widows: 3; orphans: 3; }
|
|
2721
2744
|
::selection { background: #ccc !important; color: #000 !important; }
|
|
2722
2745
|
}
|
|
2723
|
-
`;function
|
|
2724
|
-
`)}function
|
|
2725
|
-
`)}function
|
|
2726
|
-
`)}function
|
|
2746
|
+
`;function er(e){let t=[Qn,$n],n=new Set;for(let r of e)!n.has(r)&&R[r]&&(n.add(r),t.push(R[r]));return t.join(`
|
|
2747
|
+
`)}function tr(){return er(Object.keys(R))}var z={header:`aikit-header`,brand:`aikit-header-brand`,title:`aikit-header-title`,titleText:`aikit-header-title-text`,subtitle:`aikit-header-subtitle`,actions:`aikit-header-actions`,themeToggle:`aikit-theme-toggle`,themeToggleIcon:`aikit-theme-toggle-icon`,themeToggleIconSun:`aikit-theme-toggle-icon--sun`,themeToggleIconMoon:`aikit-theme-toggle-icon--moon`,toolbox:`aikit-toolbox`,toolboxToggle:`aikit-toolbox-toggle`,toolboxMenu:`aikit-toolbox-menu`,toolboxItem:`aikit-toolbox-item`,footer:`aikit-footer`,footerMeta:`aikit-footer-meta`,footerText:`aikit-footer-text`,footerBrand:`aikit-footer-brand`,footerTimestamp:`aikit-footer-timestamp`,footerSlot:`aikit-footer-slot`,footerBadge:`aikit-footer-badge`},nr=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>`,rr=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>`,ir=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,ar=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>`,or=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`,sr=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:rr,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:ir,onclick:`downloadPng()`}];function cr(t){return[` <button type="button" class="${z.toolboxItem}" role="menuitem" data-shared-chrome-action="${e(t.id)}" aria-label="${e(t.label)}">`,` <span aria-hidden="true">${t.icon}</span>`,` <span>${e(t.label)}</span>`,` </button>`].join(`
|
|
2748
|
+
`)}function lr(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${z.toolbox}">`,` <button type="button" class="${z.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${nr}`,` </button>`,` <div id="aikit-toolbox-menu" class="${z.toolboxMenu}" role="menu" hidden>`,...r.map(e=>cr(e)),` </div>`,` </div>`].join(`
|
|
2749
|
+
`)}function ur(e){return e?.trim()?e.trim():``}function dr(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?{display:e}:{dateTime:t.toISOString(),display:new Intl.DateTimeFormat(void 0,{month:`long`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`}).format(t)}}function fr(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?sr:[]),a=[ur(t.actionsHtml),lr(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${z.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${z.themeToggleIcon} ${z.themeToggleIconSun}" aria-hidden="true">${ar}</span>`,` <span class="${z.themeToggleIcon} ${z.themeToggleIconMoon}" aria-hidden="true">${or}</span>`,` </button>`].join(`
|
|
2727
2750
|
`)].filter(Boolean).join(`
|
|
2728
|
-
`);return[` <header class="${
|
|
2729
|
-
`)}function
|
|
2730
|
-
`)}function
|
|
2751
|
+
`);return[` <header class="${z.header}">`,` <div class="${z.brand}">${e(n)}</div>`,` <div class="${z.title}">`,` <span class="${z.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${z.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${z.actions}">`,a,` </div>`,` </header>`].join(`
|
|
2752
|
+
`)}function pr(t={}){let n=dr(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${z.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${z.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${z.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${z.footerBrand}">AI KIT</span>`,o=ur(t.contentHtml),s=r?`<span class="${z.footerSlot}"><a href="${e(i)}" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--aikit-border)">Get AI Kit →</a></span>`:``;return[` <footer class="${z.footer}">`,` <div class="${z.footerMeta}">`,` <span class="${z.footerText}">${a}</span>`,...o?[` <span class="${z.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
|
|
2753
|
+
`)}function mr(e){let t={COMMENT:[],DELETION:[],GLOBAL_COMMENT:[]};for(let n of e)t[n.type in t?n.type:`COMMENT`].push(n);return t}function hr(t){let r=n(t.id),i=[];return t.author&&i.push(`<span class="bk-annotation-author">${e(t.author)}</span>`),t.createdAt&&i.push(`<time class="bk-annotation-time">${e(t.createdAt)}</time>`),`<li class="bk-annotation-item" data-block-id="${r}" data-annotation-type="${t.type}">
|
|
2731
2754
|
<p class="bk-annotation-body">${e(t.body)}</p>
|
|
2732
2755
|
${i.length>0?`<div class="bk-annotation-meta">${i.join(``)}</div>`:``}
|
|
2733
|
-
</li>`}function
|
|
2734
|
-
<h4 class="bk-annotation-group-title">${e(
|
|
2735
|
-
<ol class="bk-annotation-list">${n.map(
|
|
2736
|
-
</div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function
|
|
2756
|
+
</li>`}function gr(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function _r(t,n){let r=mr(Array.isArray(t.value)?t.value:[]);return`<div class="bk-annotations">${Object.entries(r).filter(([,e])=>e.length>0).map(([t,n])=>`<div class="bk-annotation-group">
|
|
2757
|
+
<h4 class="bk-annotation-group-title">${e(gr(t))}</h4>
|
|
2758
|
+
<ol class="bk-annotation-list">${n.map(hr).join(``)}</ol>
|
|
2759
|
+
</div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function vr(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function yr(t,r){let i=t.blockId?n(t.blockId):void 0,a=vr(t.value)?t.value:{prompt:``,options:[]},o=a.prompt?`<p class="bk-approval-prompt">${e(a.prompt)}</p>`:``,s=a.options.map(t=>`<label class="bk-approval-option" data-option-id="${n(t.id)}">
|
|
2737
2760
|
<input type="radio" name="approval" value="${n(t.id)}" role="radio" />
|
|
2738
2761
|
<span class="bk-approval-option-label">${e(t.label)}</span>
|
|
2739
2762
|
${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span>`:``}
|
|
@@ -2744,10 +2767,9 @@ ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span
|
|
|
2744
2767
|
${o}
|
|
2745
2768
|
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
2746
2769
|
${c}
|
|
2747
|
-
</div>`}var
|
|
2748
|
-
`)}function
|
|
2749
|
-
`);r.push(`<pre class="bk-code"><code${t}>${e(n)}</code></pre>`),o=[],s=``};for(let t of n.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){a?(l(),a=!1):(c(),a=!0,s=n.slice(3).trim(),o=[]);continue}if(a){o.push(t);continue}if(!n){c();continue}let u=n.match(/^(#{1,4})\s+(.+)$/);if(u){c();let[,t,n]=u,i=t.length;r.push(`<h${i} class="bk-heading bk-heading--${i}">${e(n)}</h${i}>`);continue}if(/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/.test(n)){c(),r.push(`<hr>`);continue}i.push(t)}return c(),a&&l(),`<div class="bk-markdown">${r.join(``)}</div>`}function Er(t){return e(String(t??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${/^(https?:|mailto:|#)/i.test(n.trim())?n.trim():`#`}">${t}</a>`)}var Dr=class{templates=new Map;register(e){this.templates.set(e.id,e)}get(e){let t=this.templates.get(e);if(t)return t;let n=e.includes(`@`)?e:`${e}@`,r,i=-1;for(let[e,t]of this.templates){if(!e.startsWith(n))continue;let a=Number.parseInt(e.split(`@`)[1]??`0`,10);a>i&&(i=a,r=t)}return r}has(e){return this.get(e)!==void 0}list(){return[...this.templates.values()]}},Or=[`mcp-app`,`browser`];function z(e){return typeof e==`object`&&!!e}function kr(e){return Array.isArray(e)?e.flatMap(e=>!z(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var Ar={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=z(e)&&typeof e.title==`string`?e.title:void 0,r=z(e)?kr(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Or},jr=[`mcp-app`,`browser`,`export`];function B(e){return typeof e==`object`&&!!e}function Mr(e){return B(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Nr(e){return B(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Pr(e){return Array.isArray(e)?e.filter(B):[]}function Fr(e,t){if(Array.isArray(e)){let t=e.filter(Nr);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Ir={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=B(e)?Pr(e.rows):[],n=B(e)?Fr(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(B(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Mr);t.length>0&&a.push({type:`metrics`,value:t})}return a.push({type:`table`,columns:n,headers:r,rows:i,value:{headers:r,rows:i}}),a},hydration:[`table`],supportedTransports:jr},Lr=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function Rr(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function zr(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Rr(e.changes)}]):[]}function Br(e){return!V(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!V(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:zr(e.hunks)}])}function Vr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Hr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${Vr(e.type)}${e.content}`)]).join(`
|
|
2750
|
-
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Ur={id:`diff-view@1`,label:`Diff View`,description:`Static diff summary rendered as per-file diff code blocks.`,inputSchema:{type:`object`,properties:{files:{type:`array`,items:{type:`object`,required:[`path`,`status`,`additions`,`deletions`,`hunks`],properties:{path:{type:`string`},status:{type:`string`},additions:{type:`number`},deletions:{type:`number`},hunks:{type:`array`,items:{type:`object`,required:[`header`,`changes`],properties:{header:{type:`string`},changes:{type:`array`,items:{type:`object`,required:[`type`,`content`],properties:{type:{type:`string`},content:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`files`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>Br(e).flatMap(Hr),hydration:[],supportedTransports:Lr},Wr=[`mcp-app`,`browser`,`export`];function Gr(e){return typeof e==`object`&&!!e}function Kr(e){return Gr(e)&&typeof e.type==`string`}function qr(e){return Array.isArray(e)&&e.every(Kr)}function Jr(e){if(!Gr(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!Gr(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||qr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Yr(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}var Xr={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Jr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Yr(e));return n},hydration:[],supportedTransports:Wr},Zr=[`mcp-app`,`browser`,`export`];function Qr(e){return typeof e==`object`&&!!e}function $r(e){return Qr(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}var ei={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=$r(e),n=[{type:`heading`,value:`Error`},{type:`code`,title:t.code,language:`text`,value:t.details?`${t.message}\n\n${t.details}`:t.message}];return t.stack&&n.push({type:`code`,title:`Stack Trace`,language:`text`,value:t.stack}),n},hydration:[],supportedTransports:Zr};function H(e){return typeof e==`object`&&!!e}function ti(e){return Array.isArray(e)?e.flatMap(e=>!H(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||H(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}var ni={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:H(e)&&typeof e.title==`string`?e.title:`Form`,fields:H(e)?ti(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]},ri=[`mcp-app`,`browser`];function ii(e){return typeof e==`object`&&!!e}function ai(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!ii(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function oi(e){return Array.isArray(e)?e.flatMap(e=>!ii(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function si(e){return ii(e)?{categories:ai(e.categories),items:oi(e.items)}:{items:[]}}function ci(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function li(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(ci)}]}var ui={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=si(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=li(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=li(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(ci)}),n},hydration:[`picker`],supportedTransports:ri},di=[`mcp-app`,`browser`,`export`];function U(e){return typeof e==`object`&&!!e}function fi(e){return U(e)&&typeof e.type==`string`}function pi(e){return Array.isArray(e)&&e.every(fi)}function mi(e){return U(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function hi(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||pi(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function gi(e){return Array.isArray(e)?e.flatMap(e=>U(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function _i(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function vi(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}var yi={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:U(e)&&typeof e.title==`string`?e.title:`Report`,metrics:U(e)&&Array.isArray(e.metrics)?e.metrics.filter(mi):void 0,sections:U(e)?hi(e.sections):[],tables:U(e)?gi(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(..._i(e));for(let e of t.tables??[])n.push(vi(e));return n},hydration:[],supportedTransports:di},bi=[`mcp-app`,`browser`];function W(e){return typeof e==`object`&&!!e}function xi(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Si(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=W(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function Ci(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}var wi={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!W(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=xi(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Si(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(W(a)){let e=Ci(a.options);e.length>0&&t.push({type:`approval`,value:{prompt:typeof a.prompt==`string`?a.prompt:``,options:e,requireComment:typeof a.requireComment==`boolean`?a.requireComment:!1}})}let o=typeof e.comment==`string`?e.comment:void 0;return o&&t.push({type:`markdown`,value:o}),t},hydration:[`checklist`],supportedTransports:bi},Ti=[`mcp-app`,`browser`,`export`];function Ei(e){return typeof e==`object`&&!!e}function Di(e){return Array.isArray(e)?e.flatMap(e=>{if(!Ei(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!Ei(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function Oi(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var ki={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Ei(e)?Di(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Oi(e.items)});return n},hydration:[],supportedTransports:Ti},Ai=[`mcp-app`,`browser`,`export`];function ji(e){return typeof e==`object`&&!!e}function Mi(e){return Array.isArray(e)?e.flatMap(e=>!ji(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}function Ni(e){return Array.isArray(e)?{entries:Mi(e)}:ji(e)?{entries:Mi(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var G={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},Pi={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[G,{type:`object`,properties:{title:{type:`string`},entries:G,events:G,items:G},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Ni(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Ai},Fi=[`mcp-app`,`browser`,`export`];function Ii(e){return typeof e==`object`&&!!e}function Li(e){return Ii(e)&&typeof e.label==`string`}function Ri(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Li).map(Ri):[]}}function zi(e){if(!Ii(e))return{};let t=e.root;return Li(t)?Ri(t):Ii(t)?t:e}var Bi={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:zi(e)}],hydration:[`tree`],supportedTransports:Fi},K=new Dr;K.register(wi),K.register(Ar),K.register(Ur),K.register(Xr),K.register(ui),K.register(yi),K.register(Pi),K.register(Bi),K.register(Ir),K.register(ei),K.register(ni),K.register(ki);var Vi=3e3,Hi=2e3;function q(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},Vi));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},Hi)}function Ui(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),q(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),q(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),q(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),q(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var Wi=`
|
|
2770
|
+
</div>`}var br={actions:f,alert:v,annotation:_r,approval:yr,cards:ne,chart:se,checklist:Ne,code:Ue,comparison:Ye,"architecture-diagram":P,"workflow-diagram":P,"sequence-diagram":P,"dataflow-diagram":P,"lifecycle-diagram":P,diff:St,"component-detail":rt,"data-table-schema":lt,"docs-browser":Tt,"docs-hub":At,"flame-graph":Lt,finding:Nt,graph:Bt,heading:Ht,kv:Gt,"lifecycle-flow":sn,list:ln,markdown:mn,mermaid:gn,metrics:yn,paragraph:xn,progress:wn,prompt:Dn,separator:kn,"stat-group":Pn,"status-board":Ln,table:Hn,tags:Gn,text:qn,timeline:Yn,tree:Zn};function xr(t,r,a){let o={...t,value:i(t.value)},s=br[o.type],c=s?s(o,r):Cr(o);return o.title&&![`heading`,`finding`].includes(o.type)&&(c=`<section class="bk-section bk-section--${e(o.type)}"><h3 class="bk-section-title">${e(o.title)}</h3>${c}</section>`),`<div data-block-id="${n(o.blockId??`block-${a??0}`)}">${c}</div>`}function Sr(e,t){return e.map((e,n)=>xr(e,t,n)).join(`
|
|
2771
|
+
`)}function Cr(e){let t=e.value;if(t==null)return``;let n;if(typeof t==`string`)n=t;else if(typeof t==`object`)try{n=`\`\`\`json\n${JSON.stringify(t,null,2)}\n\`\`\``}catch{n=String(t)}else n=String(t);return mn({type:`markdown`,value:n})}var wr=class{templates=new Map;register(e){this.templates.set(e.id,e)}get(e){let t=this.templates.get(e);if(t)return t;let n=e.includes(`@`)?e:`${e}@`,r,i=-1;for(let[e,t]of this.templates){if(!e.startsWith(n))continue;let a=Number.parseInt(e.split(`@`)[1]??`0`,10);a>i&&(i=a,r=t)}return r}has(e){return this.get(e)!==void 0}list(){return[...this.templates.values()]}},Tr=[`mcp-app`,`browser`];function B(e){return typeof e==`object`&&!!e}function Er(e){return Array.isArray(e)?e.flatMap(e=>!B(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var Dr={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=B(e)&&typeof e.title==`string`?e.title:void 0,r=B(e)?Er(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Tr},Or=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function kr(e){return V(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Ar(e){return V(e)&&typeof e.key==`string`&&typeof e.label==`string`}function jr(e){return Array.isArray(e)?e.filter(V):[]}function Mr(e,t){if(Array.isArray(e)){let t=e.filter(Ar);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Nr={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=V(e)?jr(e.rows):[],n=V(e)?Mr(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(V(e)&&Array.isArray(e.stats)){let t=e.stats.filter(kr);t.length>0&&a.push({type:`metrics`,value:t})}return a.push({type:`table`,columns:n,headers:r,rows:i,value:{headers:r,rows:i}}),a},hydration:[`table`],supportedTransports:Or},Pr=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Fr(e){return Array.isArray(e)?e.flatMap(e=>!H(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function Ir(e){return Array.isArray(e)?e.flatMap(e=>!H(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Fr(e.changes)}]):[]}function Lr(e){return!H(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!H(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:Ir(e.hunks)}])}function Rr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function zr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${Rr(e.type)}${e.content}`)]).join(`
|
|
2772
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Br={id:`diff-view@1`,label:`Diff View`,description:`Static diff summary rendered as per-file diff code blocks.`,inputSchema:{type:`object`,properties:{files:{type:`array`,items:{type:`object`,required:[`path`,`status`,`additions`,`deletions`,`hunks`],properties:{path:{type:`string`},status:{type:`string`},additions:{type:`number`},deletions:{type:`number`},hunks:{type:`array`,items:{type:`object`,required:[`header`,`changes`],properties:{header:{type:`string`},changes:{type:`array`,items:{type:`object`,required:[`type`,`content`],properties:{type:{type:`string`},content:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`files`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>Lr(e).flatMap(zr),hydration:[],supportedTransports:Pr},Vr=[`mcp-app`,`browser`,`export`];function Hr(e){return typeof e==`object`&&!!e}function Ur(e){return Hr(e)&&typeof e.type==`string`}function Wr(e){return Array.isArray(e)&&e.every(Ur)}function Gr(e){if(!Hr(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!Hr(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Wr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Kr(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}var qr={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Gr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Kr(e));return n},hydration:[],supportedTransports:Vr},Jr=[`mcp-app`,`browser`,`export`];function Yr(e){return typeof e==`object`&&!!e}function Xr(e){return Yr(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}var Zr={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Xr(e),n=[{type:`heading`,value:`Error`},{type:`code`,title:t.code,language:`text`,value:t.details?`${t.message}\n\n${t.details}`:t.message}];return t.stack&&n.push({type:`code`,title:`Stack Trace`,language:`text`,value:t.stack}),n},hydration:[],supportedTransports:Jr};function U(e){return typeof e==`object`&&!!e}function Qr(e){return Array.isArray(e)?e.flatMap(e=>!U(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||U(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}var $r={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:U(e)&&typeof e.title==`string`?e.title:`Form`,fields:U(e)?Qr(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]},ei=[`mcp-app`,`browser`];function ti(e){return typeof e==`object`&&!!e}function ni(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!ti(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function ri(e){return Array.isArray(e)?e.flatMap(e=>!ti(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function ii(e){return ti(e)?{categories:ni(e.categories),items:ri(e.items)}:{items:[]}}function ai(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function oi(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(ai)}]}var si={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=ii(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=oi(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=oi(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(ai)}),n},hydration:[`picker`],supportedTransports:ei},ci=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function li(e){return W(e)&&typeof e.type==`string`}function ui(e){return Array.isArray(e)&&e.every(li)}function di(e){return W(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function fi(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||ui(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function pi(e){return Array.isArray(e)?e.flatMap(e=>W(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function mi(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function hi(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}var gi={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:W(e)&&typeof e.title==`string`?e.title:`Report`,metrics:W(e)&&Array.isArray(e.metrics)?e.metrics.filter(di):void 0,sections:W(e)?fi(e.sections):[],tables:W(e)?pi(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(...mi(e));for(let e of t.tables??[])n.push(hi(e));return n},hydration:[],supportedTransports:ci},_i=[`mcp-app`,`browser`];function G(e){return typeof e==`object`&&!!e}function vi(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function yi(e){return Array.isArray(e)?e.flatMap(e=>{if(!G(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=G(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function bi(e){return Array.isArray(e)?e.flatMap(e=>{if(!G(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}var xi={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!G(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=vi(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=yi(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(G(a)){let e=bi(a.options);e.length>0&&t.push({type:`approval`,value:{prompt:typeof a.prompt==`string`?a.prompt:``,options:e,requireComment:typeof a.requireComment==`boolean`?a.requireComment:!1}})}let o=typeof e.comment==`string`?e.comment:void 0;return o&&t.push({type:`markdown`,value:o}),t},hydration:[`checklist`],supportedTransports:_i},Si=[`mcp-app`,`browser`,`export`];function Ci(e){return typeof e==`object`&&!!e}function wi(e){return Array.isArray(e)?e.flatMap(e=>{if(!Ci(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!Ci(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function Ti(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var Ei={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Ci(e)?wi(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Ti(e.items)});return n},hydration:[],supportedTransports:Si},Di=[`mcp-app`,`browser`,`export`];function Oi(e){return typeof e==`object`&&!!e}function ki(e){return Array.isArray(e)?e.flatMap(e=>!Oi(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}function Ai(e){return Array.isArray(e)?{entries:ki(e)}:Oi(e)?{entries:ki(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var K={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},ji={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[K,{type:`object`,properties:{title:{type:`string`},entries:K,events:K,items:K},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Ai(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Di},Mi=[`mcp-app`,`browser`,`export`];function Ni(e){return typeof e==`object`&&!!e}function Pi(e){return Ni(e)&&typeof e.label==`string`}function Fi(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Pi).map(Fi):[]}}function Ii(e){if(!Ni(e))return{};let t=e.root;return Pi(t)?Fi(t):Ni(t)?t:e}var Li={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:Ii(e)}],hydration:[`tree`],supportedTransports:Mi},q=new wr;q.register(xi),q.register(Dr),q.register(Br),q.register(qr),q.register(si),q.register(gi),q.register(ji),q.register(Li),q.register(Nr),q.register(Zr),q.register($r),q.register(Ei);var Ri=3e3,zi=2e3;function J(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},Ri));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},zi)}function Bi(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),J(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),J(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),J(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),J(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var Vi=`
|
|
2751
2773
|
.bk-checklist-progress {
|
|
2752
2774
|
margin-bottom: var(--dt-space-3);
|
|
2753
2775
|
color: var(--dt-text-secondary);
|
|
@@ -2761,7 +2783,7 @@ ${c}
|
|
|
2761
2783
|
margin: 0;
|
|
2762
2784
|
accent-color: var(--dt-accent-fg);
|
|
2763
2785
|
}
|
|
2764
|
-
`;function Gi(e){let t=e.createElement(`style`);return t.textContent=Wi,t}function Ki(e,t){let n=t.filter(e=>e.getAttribute(`data-checked`)===`true`).length,r=t.length;return e.textContent=`${n}/${r} complete`,{complete:n,total:r}}function qi(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=Gi(r),a=r.createElement(`div`);a.className=`bk-checklist-progress`,e.parentElement?.insertBefore(a,e),r.head?.appendChild(i);let o=[];for(let[e,i]of n.entries()){let s=i.querySelector(`.bk-checklist-icon`),c=i.querySelector(`.bk-checklist-label`)?.textContent?.trim()??``,l=r.createElement(`input`);l.type=`checkbox`,l.className=`bk-checklist-box`,l.checked=i.getAttribute(`data-checked`)===`true`;let u=()=>{i.setAttribute(`data-checked`,String(l.checked));let r=Ki(a,n);t.onAction?.(`checklist`,JSON.stringify({index:e,label:c,checked:l.checked,complete:r.complete,total:r.total}))};l.addEventListener(`change`,u),o.push(()=>{l.removeEventListener(`change`,u)}),s?s.replaceWith(l):i.insertBefore(l,i.firstChild)}return Ki(a,n),()=>{for(let e of o)e();a.remove(),i.remove();for(let e of n){let t=e.querySelector(`.bk-checklist-box`);if(!t)continue;let n=r.createElement(`span`);n.className=`bk-checklist-icon`,n.textContent=e.getAttribute(`data-checked`)===`true`?`✓`:`×`,t.replaceWith(n)}}}var Ji=`data-sort-label`,Yi=`data-sort-dir`,Xi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function Zi(e){let t=e.getAttribute(Ji);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(Ji,n),n}function Qi(e,t,n){for(let[r,i]of e.entries())i.textContent=Zi(i),r===t?(i.setAttribute(Yi,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(Yi)}function $i(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function ea(e){let t=Array.from(e.querySelectorAll(`thead th`)),n=e.querySelector(`tbody`);if(!n||t.length===0)return()=>{};let r=Array.from(n.querySelectorAll(`tr`)),i=e.parentElement,a=null,o=`asc`,s=``,c=null,l=[],u=()=>{let e=[...r];if(a!==null){let t=a;e.sort((e,n)=>{let r=Xi.compare($i(e,t),$i(n,t));return o===`asc`?r:-r})}for(let t of e){n.appendChild(t);let e=t.textContent?.toLowerCase()??``;t.hidden=s.length>0&&!e.includes(s)}Qi(t,a,o)};for(let[e,n]of t.entries()){Zi(n);let t=()=>{a===e?o=o===`asc`?`desc`:`asc`:(a=e,o=`asc`),u()};n.style.cursor=`pointer`,n.addEventListener(`click`,t),l.push(()=>{n.removeEventListener(`click`,t)})}if(r.length>5&&i){c=i.ownerDocument.createElement(`input`),c.className=`bk-table-filter`,c.placeholder=`Filter...`;let t=()=>{s=c?.value.toLowerCase().trim()??``,u()};i.insertBefore(c,e),c.addEventListener(`input`,t),l.push(()=>{c?.removeEventListener(`input`,t),c?.remove(),c=null})}return u(),()=>{for(let e of l)e();for(let e of t)e.textContent=Zi(e),e.removeAttribute(Yi),e.removeAttribute(Ji),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function ta(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function na(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return ta(n);n=n.parentElement}return null}function ra(e){return Array.from(e.querySelectorAll(`summary`))}function J(e){return e.open||e.hasAttribute(`open`)}function Y(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function ia(e,t){e.textContent=t.every(e=>J(e))?`Collapse all`:`Expand all`}function aa(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!J(e));for(let n of t)Y(n,e);ia(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{ia(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=ra(e).map(t=>{t.tabIndex=0;let n=n=>{let r=ra(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!J(a))Y(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&J(a)?Y(a,!1):na(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return ia(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var X=`data-hydrated`;function Z(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Q(e,t,n){e.push(()=>{n(),t.removeAttribute(X)})}function oa(e={}){let t=e.container??document.body,n=[];for(let e of Z(t,`.bk-table`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,ea(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,aa(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,qi(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,Ui(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var sa=`aikit-report-theme`,ca=e,la=t,ua=`aikit-report-block-styles`,da=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>`,fa=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`;function pa(e){if(e.getElementById(ua))return;let t=e.createElement(`style`);t.id=ua,t.textContent=nr(),e.head.appendChild(t)}function ma(e){return e.flatMap(e=>ha(e))}function ha(e){if(e.type===`section`)return[{...e,type:`heading`,level:Number(e.level)||2,value:e.value??e.title}];if(e.type===`stacked-bar`){let t=Array.isArray(e.segments)?e.segments:[];return[{type:`progress`,title:e.title,value:t.map(e=>{let t=e;return{label:String(t.label??``),value:Number(t.percent)||0,max:100,color:t.color}})}]}if(e.type===`summary`){let t=Array.isArray(e.children)?ma(e.children):[];return[...e.title?[{type:`heading`,id:e.id,level:Number(e.level)||2,value:e.title}]:[],...t]}return e.type===`grid`?(Array.isArray(e.children)?e.children:[]).flatMap(e=>{let t=e;return[...t.title?[{type:`heading`,level:3,value:t.title}]:[],...ma(Array.isArray(t.blocks)?t.blocks:[])]}):e.type===`chart`&&e.value===void 0?[{...e,value:{chartType:e.chartType,data:e.data,xKey:e.xKey,yKeys:e.yKeys}}]:e.type===`progress`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:e.type===`table`&&e.value===void 0&&(e.headers||e.rows)?[{...e,value:{headers:e.headers,rows:e.rows}}]:e.type===`tags`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:[e]}function ga(e,t,n,r){pa(r),e.innerHTML=Cr(ma(t),{mode:`standalone`,theme:n}),oa({container:e})}function _a(e){return e??(typeof window<`u`?window.localStorage:void 0)}function va(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function ya(e){return e===`light`||e===`dark`?e:null}function ba(e=document,t,n){let r=ya(_a(t)?.getItem(`aikit-report-theme`))??(va(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function xa(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(sa,t),t}function Sa(e,t){return xa(e,(ya(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function Ca(e){if(!e)return new Date().toLocaleString();let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function wa(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?da:fa}function $(e,t,n=!1){let r=e.querySelector(`.aikit-toolbox-toggle`),i=e.querySelector(`.aikit-toolbox-menu`);!r||!i||(i.hidden=!t,r.setAttribute(`aria-expanded`,String(t)),t?e.querySelector(`.aikit-toolbox-item`)?.focus():n&&r.focus())}function Ta(e,t){return pr({title:e.title||`Report`,subtitle:e.subtitle,transport:`browser`,actionsHtml:t?`<button class="report-menu-toggle" type="button" aria-expanded="false">Sections</button>`:void 0})}function Ea(e,t,n){let r=n.getComputedStyle(e),i=Array.from(r).map(e=>`${e}:${r.getPropertyValue(e)}${r.getPropertyPriority(e)?` !important`:``};`).join(``);t.setAttribute(`style`,i);for(let r=0;r<e.children.length;r+=1){let i=e.children[r],a=t.children[r];i&&a&&Ea(i,a,n)}}async function Da(e){let t=e.defaultView;if(!t)throw Error(`Window unavailable`);let n=Math.max(e.documentElement.scrollWidth,e.documentElement.clientWidth,e.body?.scrollWidth??0),r=Math.max(e.documentElement.scrollHeight,e.documentElement.clientHeight,e.body?.scrollHeight??0),i=t.devicePixelRatio||1,a=e.createElement(`canvas`);a.width=Math.max(1,Math.ceil(n*i)),a.height=Math.max(1,Math.ceil(r*i));let o=a.getContext(`2d`);if(!o)throw Error(`Canvas context unavailable`);o.scale(i,i);let s=e.documentElement.cloneNode(!0);if(!(s instanceof Element))throw Error(`Document clone failed`);s.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),s.querySelectorAll(`script`).forEach(e=>{e.remove()}),Ea(e.documentElement,s,t);let c=[`<svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}">`,`<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(s)}</foreignObject>`,`</svg>`].join(``),l=new Blob([c],{type:`image/svg+xml;charset=utf-8`}),u=t.URL.createObjectURL(l);try{await new Promise((e,i)=>{let a=new t.Image;a.onload=()=>{o.drawImage(a,0,0,n,r),e()},a.onerror=()=>i(Error(`ForeignObject render failed`)),a.src=u})}finally{t.URL.revokeObjectURL(u)}let d=await new Promise(e=>a.toBlob(e,`image/png`));if(!d)throw Error(`PNG export failed`);let f=t.URL.createObjectURL(d),p=e.createElement(`a`),m=new Date().toISOString().replace(/[.:]/g,`-`);p.href=f,p.download=`aikit-screenshot-${m}.png`,e.body?.appendChild(p),p.click(),p.remove(),t.URL.revokeObjectURL(f)}function Oa(e,t,n={}){let r=n.document??e.ownerDocument??document,i=_a(n.storage),a=ya(r.documentElement.getAttribute(`data-theme`))??ba(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ta(t,s),u=mr({generatedAt:Ca(t.timestamp??t.generatedAt),badge:t.badge});e.innerHTML=`<div class="report-shell"><div class="report-header-shell">${l}</div><div class="report-body${s?` has-sidebar`:``}">${s?`<aside class="report-sidebar"><nav class="report-sidebar__nav" aria-label="Report sections">${c.map(e=>`<a class="report-sidebar__link" href="${la(e.href)}">${ca(e.label)}</a>`).join(``)}</nav></aside>`:``}<main class="report-main"><div class="report-main__content"></div></main></div><div class="report-footer-shell">${u}</div><button class="report-overlay" type="button" aria-label="Close navigation"${s?``:` hidden`}></button></div>`;let d=e.querySelector(`.report-shell`),f=e.querySelector(`.report-menu-toggle`),p=e.querySelector(`.report-overlay`),m=e.querySelector(`.aikit-toolbox-toggle`),h=e.querySelector(`.aikit-toolbox-item`),g=e.querySelector(`.aikit-theme-toggle`),_=e.querySelector(`.report-main__content`);if(!(!d||!g||!_)&&(wa(g,a),ga(_,t.blocks,a,r),o&&(o.screenshotPage=async()=>{let t=o.scrollX,n=o.scrollY;$(e,!1),o.scrollTo(0,0),await new Promise(e=>o.requestAnimationFrame(()=>e()));try{await Da(r)}finally{o.scrollTo(t,n)}}),m?.addEventListener(`click`,()=>{$(e,!!e.querySelector(`.aikit-toolbox-menu`)?.hidden)}),m?.addEventListener(`keydown`,t=>{(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e,!0))}),h?.addEventListener(`click`,()=>{o?.screenshotPage?.()}),g.addEventListener(`click`,()=>wa(g,Sa(r,i))),f?.addEventListener(`click`,()=>{let e=!d.classList.contains(`is-sidebar-open`);d.classList.toggle(`is-sidebar-open`,e),f.setAttribute(`aria-expanded`,e?`true`:`false`)}),r.addEventListener(`click`,t=>{let n=e.querySelector(`.aikit-toolbox`),r=t.target;n&&r&&n.contains(r)||$(e,!1)}),p?.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)}),s)){for(let t of e.querySelectorAll(`.report-sidebar__link`))t.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)});r.addEventListener(`keydown`,t=>{t.key===`Escape`&&($(e,!1,!0),d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`))})}}var ka=document.getElementById(`report-root`);if(ka){ba();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Oa(ka,e))}</script>
|
|
2786
|
+
`;function Hi(e){let t=e.createElement(`style`);return t.textContent=Vi,t}function Ui(e,t){let n=t.filter(e=>e.getAttribute(`data-checked`)===`true`).length,r=t.length;return e.textContent=`${n}/${r} complete`,{complete:n,total:r}}function Wi(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=Hi(r),a=r.createElement(`div`);a.className=`bk-checklist-progress`,e.parentElement?.insertBefore(a,e),r.head?.appendChild(i);let o=[];for(let[e,i]of n.entries()){let s=i.querySelector(`.bk-checklist-icon`),c=i.querySelector(`.bk-checklist-label`)?.textContent?.trim()??``,l=r.createElement(`input`);l.type=`checkbox`,l.className=`bk-checklist-box`,l.checked=i.getAttribute(`data-checked`)===`true`;let u=()=>{i.setAttribute(`data-checked`,String(l.checked));let r=Ui(a,n);t.onAction?.(`checklist`,JSON.stringify({index:e,label:c,checked:l.checked,complete:r.complete,total:r.total}))};l.addEventListener(`change`,u),o.push(()=>{l.removeEventListener(`change`,u)}),s?s.replaceWith(l):i.insertBefore(l,i.firstChild)}return Ui(a,n),()=>{for(let e of o)e();a.remove(),i.remove();for(let e of n){let t=e.querySelector(`.bk-checklist-box`);if(!t)continue;let n=r.createElement(`span`);n.className=`bk-checklist-icon`,n.textContent=e.getAttribute(`data-checked`)===`true`?`✓`:`×`,t.replaceWith(n)}}}var Gi=`data-sort-label`,Ki=`data-sort-dir`,qi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function Ji(e){let t=e.getAttribute(Gi);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(Gi,n),n}function Yi(e,t,n){for(let[r,i]of e.entries())i.textContent=Ji(i),r===t?(i.setAttribute(Ki,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(Ki)}function Xi(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function Zi(e){let t=Array.from(e.querySelectorAll(`thead th`)),n=e.querySelector(`tbody`);if(!n||t.length===0)return()=>{};let r=Array.from(n.querySelectorAll(`tr`)),i=e.parentElement,a=null,o=`asc`,s=``,c=null,l=[],u=()=>{let e=[...r];if(a!==null){let t=a;e.sort((e,n)=>{let r=qi.compare(Xi(e,t),Xi(n,t));return o===`asc`?r:-r})}for(let t of e){n.appendChild(t);let e=t.textContent?.toLowerCase()??``;t.hidden=s.length>0&&!e.includes(s)}Yi(t,a,o)};for(let[e,n]of t.entries()){Ji(n);let t=()=>{a===e?o=o===`asc`?`desc`:`asc`:(a=e,o=`asc`),u()};n.style.cursor=`pointer`,n.addEventListener(`click`,t),l.push(()=>{n.removeEventListener(`click`,t)})}if(r.length>5&&i){c=i.ownerDocument.createElement(`input`),c.className=`bk-table-filter`,c.placeholder=`Filter...`;let t=()=>{s=c?.value.toLowerCase().trim()??``,u()};i.insertBefore(c,e),c.addEventListener(`input`,t),l.push(()=>{c?.removeEventListener(`input`,t),c?.remove(),c=null})}return u(),()=>{for(let e of l)e();for(let e of t)e.textContent=Ji(e),e.removeAttribute(Ki),e.removeAttribute(Gi),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function Qi(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function $i(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return Qi(n);n=n.parentElement}return null}function ea(e){return Array.from(e.querySelectorAll(`summary`))}function Y(e){return e.open||e.hasAttribute(`open`)}function ta(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function na(e,t){e.textContent=t.every(e=>Y(e))?`Collapse all`:`Expand all`}function ra(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!Y(e));for(let n of t)ta(n,e);na(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{na(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=ea(e).map(t=>{t.tabIndex=0;let n=n=>{let r=ea(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!Y(a))ta(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&Y(a)?ta(a,!1):$i(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return na(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var X=`data-hydrated`;function Z(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Q(e,t,n){e.push(()=>{n(),t.removeAttribute(X)})}function ia(e={}){let t=e.container??document.body,n=[];for(let e of Z(t,`.bk-table`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Zi(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,ra(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,Wi(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,Bi(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var aa=`aikit-report-theme`,oa=e,sa=t,ca=`aikit-report-block-styles`,la=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>`,ua=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`;function da(e){if(e.getElementById(ca))return;let t=e.createElement(`style`);t.id=ca,t.textContent=tr(),e.head.appendChild(t)}function fa(e){return e.flatMap(e=>pa(e))}function pa(e){if(e.type===`section`)return[{...e,type:`heading`,level:Number(e.level)||2,value:e.value??e.title}];if(e.type===`stacked-bar`){let t=Array.isArray(e.segments)?e.segments:[];return[{type:`progress`,title:e.title,value:t.map(e=>{let t=e;return{label:String(t.label??``),value:Number(t.percent)||0,max:100,color:t.color}})}]}if(e.type===`summary`){let t=Array.isArray(e.children)?fa(e.children):[];return[...e.title?[{type:`heading`,id:e.id,level:Number(e.level)||2,value:e.title}]:[],...t]}return e.type===`grid`?(Array.isArray(e.children)?e.children:[]).flatMap(e=>{let t=e;return[...t.title?[{type:`heading`,level:3,value:t.title}]:[],...fa(Array.isArray(t.blocks)?t.blocks:[])]}):e.type===`chart`&&e.value===void 0?[{...e,value:{chartType:e.chartType,data:e.data,xKey:e.xKey,yKeys:e.yKeys}}]:e.type===`progress`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:e.type===`table`&&e.value===void 0&&(e.headers||e.rows)?[{...e,value:{headers:e.headers,rows:e.rows}}]:e.type===`tags`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:[e]}function ma(e,t,n,r){da(r),e.innerHTML=Sr(fa(t),{mode:`standalone`,theme:n}),ia({container:e})}function ha(e){return e??(typeof window<`u`?window.localStorage:void 0)}function ga(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function _a(e){return e===`light`||e===`dark`?e:null}function va(e=document,t,n){let r=_a(ha(t)?.getItem(`aikit-report-theme`))??(ga(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function ya(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(aa,t),t}function ba(e,t){return ya(e,(_a(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function xa(e){if(!e)return new Date().toLocaleString();let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function Sa(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?la:ua}function $(e,t,n=!1){let r=e.querySelector(`.aikit-toolbox-toggle`),i=e.querySelector(`.aikit-toolbox-menu`);!r||!i||(i.hidden=!t,r.setAttribute(`aria-expanded`,String(t)),t?e.querySelector(`.aikit-toolbox-item`)?.focus():n&&r.focus())}function Ca(e,t){return fr({title:e.title||`Report`,subtitle:e.subtitle,transport:`browser`,actionsHtml:t?`<button class="report-menu-toggle" type="button" aria-expanded="false">Sections</button>`:void 0})}function wa(e,t,n){let r=n.getComputedStyle(e),i=Array.from(r).map(e=>`${e}:${r.getPropertyValue(e)}${r.getPropertyPriority(e)?` !important`:``};`).join(``);t.setAttribute(`style`,i);for(let r=0;r<e.children.length;r+=1){let i=e.children[r],a=t.children[r];i&&a&&wa(i,a,n)}}async function Ta(e){let t=e.defaultView;if(!t)throw Error(`Window unavailable`);let n=Math.max(e.documentElement.scrollWidth,e.documentElement.clientWidth,e.body?.scrollWidth??0),r=Math.max(e.documentElement.scrollHeight,e.documentElement.clientHeight,e.body?.scrollHeight??0),i=t.devicePixelRatio||1,a=e.createElement(`canvas`);a.width=Math.max(1,Math.ceil(n*i)),a.height=Math.max(1,Math.ceil(r*i));let o=a.getContext(`2d`);if(!o)throw Error(`Canvas context unavailable`);o.scale(i,i);let s=e.documentElement.cloneNode(!0);if(!(s instanceof Element))throw Error(`Document clone failed`);s.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),s.querySelectorAll(`script`).forEach(e=>{e.remove()}),wa(e.documentElement,s,t);let c=[`<svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}">`,`<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(s)}</foreignObject>`,`</svg>`].join(``),l=new Blob([c],{type:`image/svg+xml;charset=utf-8`}),u=t.URL.createObjectURL(l);try{await new Promise((e,i)=>{let a=new t.Image;a.onload=()=>{o.drawImage(a,0,0,n,r),e()},a.onerror=()=>i(Error(`ForeignObject render failed`)),a.src=u})}finally{t.URL.revokeObjectURL(u)}let d=await new Promise(e=>a.toBlob(e,`image/png`));if(!d)throw Error(`PNG export failed`);let f=t.URL.createObjectURL(d),p=e.createElement(`a`),m=new Date().toISOString().replace(/[.:]/g,`-`);p.href=f,p.download=`aikit-screenshot-${m}.png`,e.body?.appendChild(p),p.click(),p.remove(),t.URL.revokeObjectURL(f)}function Ea(e,t,n={}){let r=n.document??e.ownerDocument??document,i=ha(n.storage),a=_a(r.documentElement.getAttribute(`data-theme`))??va(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ca(t,s),u=pr({generatedAt:xa(t.timestamp??t.generatedAt),badge:t.badge});e.innerHTML=`<div class="report-shell"><div class="report-header-shell">${l}</div><div class="report-body${s?` has-sidebar`:``}">${s?`<aside class="report-sidebar"><nav class="report-sidebar__nav" aria-label="Report sections">${c.map(e=>`<a class="report-sidebar__link" href="${sa(e.href)}">${oa(e.label)}</a>`).join(``)}</nav></aside>`:``}<main class="report-main"><div class="report-main__content"></div></main></div><div class="report-footer-shell">${u}</div><button class="report-overlay" type="button" aria-label="Close navigation"${s?``:` hidden`}></button></div>`;let d=e.querySelector(`.report-shell`),f=e.querySelector(`.report-menu-toggle`),p=e.querySelector(`.report-overlay`),m=e.querySelector(`.aikit-toolbox-toggle`),h=e.querySelector(`.aikit-toolbox-item`),g=e.querySelector(`.aikit-theme-toggle`),_=e.querySelector(`.report-main__content`);if(!(!d||!g||!_)&&(Sa(g,a),ma(_,t.blocks,a,r),o&&(o.screenshotPage=async()=>{let t=o.scrollX,n=o.scrollY;$(e,!1),o.scrollTo(0,0),await new Promise(e=>o.requestAnimationFrame(()=>e()));try{await Ta(r)}finally{o.scrollTo(t,n)}}),m?.addEventListener(`click`,()=>{$(e,!!e.querySelector(`.aikit-toolbox-menu`)?.hidden)}),m?.addEventListener(`keydown`,t=>{(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e,!0))}),h?.addEventListener(`click`,()=>{o?.screenshotPage?.()}),g.addEventListener(`click`,()=>Sa(g,ba(r,i))),f?.addEventListener(`click`,()=>{let e=!d.classList.contains(`is-sidebar-open`);d.classList.toggle(`is-sidebar-open`,e),f.setAttribute(`aria-expanded`,e?`true`:`false`)}),r.addEventListener(`click`,t=>{let n=e.querySelector(`.aikit-toolbox`),r=t.target;n&&r&&n.contains(r)||$(e,!1)}),p?.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)}),s)){for(let t of e.querySelectorAll(`.report-sidebar__link`))t.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)});r.addEventListener(`keydown`,t=>{t.key===`Escape`&&($(e,!1,!0),d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`))})}}var Da=document.getElementById(`report-root`);if(Da){va();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Ea(Da,e))}</script>
|
|
2765
2787
|
<style rel="stylesheet" crossorigin>:root{--dt-bg-canvas:#0c0c0f;--dt-bg-primary:#131316;--dt-bg-secondary:#1c1c21;--dt-bg-tertiary:#25252b;--dt-text-primary:#f0efe7;--dt-text-secondary:#a8a69e;--dt-text-tertiary:#6b6a65;--dt-border-default:#2a2a30;--dt-border-muted:#35353c;--dt-border-subtle:#1f1f24;--dt-glass-bg:#131316b8;--dt-glass-blur:16px;--dt-glass-border:#ffffff0f;--dt-glass-hover-border:#45c8a814;--dt-glass-shadow:0 0 0 1px #ffffff0a, 0 2px 8px #00000040, 0 8px 32px #00000026;--dt-accent-fg:#45c8a8;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#45c8a84d;--dt-accent-subtle:#45c8a81a;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#2bd47c;--dt-success-emphasis:#22b86b;--dt-success-muted:#2bd47c4d;--dt-success-subtle:#2bd47c1a;--dt-danger-fg:#f56a6a;--dt-danger-emphasis:#e54848;--dt-danger-muted:#f56a6a4d;--dt-danger-subtle:#f56a6a1a;--dt-warning-fg:#f5b342;--dt-warning-emphasis:#e89e2e;--dt-warning-muted:#f5b3424d;--dt-warning-subtle:#f5b3421a;--dt-info-fg:#6baef8;--dt-info-emphasis:#5090e8;--dt-info-muted:#6baef84d;--dt-info-subtle:#6baef81a;--dt-purple-fg:#c89bff;--dt-purple-emphasis:#b07ef0;--dt-purple-muted:#c89bff4d;--dt-purple-subtle:#c89bff1a;--dt-agent-researcher:#818cf8;--dt-agent-implementer:#34d399;--dt-agent-frontend:#f472b6;--dt-agent-reviewer:#fbbf24;--dt-agent-debugger:#f87171;--dt-agent-security:#fb923c;--dt-agent-explorer:#38bdf8;--dt-agent-documenter:#c084fc;--dt-agent-refactor:#2dd4bf;--dt-agent-planner:#a78bfa;--dt-agent-orchestrator:#94a3b8;--dt-status-pending:#94a3b8;--dt-status-in-progress:#60a5fa;--dt-status-done:#4ade80;--dt-status-blocked:#f87171;--dt-font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--dt-font-mono:"JetBrains Mono", "Geist Mono", "Fira Code", "SF Mono", Consolas, monospace;--dt-font-size-xs:.75rem;--dt-font-size-sm:.8125rem;--dt-font-size-base:.875rem;--dt-font-size-lg:1rem;--dt-font-size-xl:1.25rem;--dt-font-size-2xl:1.5rem;--dt-font-size-3xl:2rem;--dt-font-size-4xl:2.5rem;--dt-space-1:.25rem;--dt-space-2:.5rem;--dt-space-3:.75rem;--dt-space-4:1rem;--dt-space-5:1.25rem;--dt-space-6:1.5rem;--dt-space-8:2rem;--dt-space-10:2.5rem;--dt-space-12:3rem;--dt-radius-xs:4px;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-radius-pill:999px;--dt-shadow-sm:0 0 0 1px #ffffff05, 0 1px 3px #0000004d;--dt-shadow-md:0 0 0 1px #ffffff08, 0 2px 6px #00000059, 0 4px 12px #0003;--dt-shadow-lg:0 0 0 1px #ffffff0a, 0 2px 8px #0006, 0 8px 32px #00000040;--dt-glow-primary:radial-gradient(circle at 50% 50%, #45c8a81f, #6baef80d 45%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #c89bff0f, transparent 50%);--dt-glow-accent:#45c8a859;--dt-glow-success:#2bd47c59;--dt-glow-danger:#f56a6a59;--dt-glow-warning:#f5b34259;--dt-glow-info:#6baef859;--dt-glow-purple:#c89bff59;--dt-annotation-comment:#45c8a8;--dt-annotation-comment-bg:#45c8a826;--dt-annotation-deletion:#f56a6a;--dt-annotation-deletion-bg:#f56a6a26;--dt-annotation-hover:#ffffff0a;--dt-transition-fast:.12s cubic-bezier(.25, .46, .45, .94);--dt-transition-normal:.2s cubic-bezier(.25, .46, .45, .94);--dt-transition-slow:.3s cubic-bezier(.16, 1, .3, 1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-canvas:#f5f4ee;--dt-bg-primary:#faf9f4;--dt-bg-secondary:#f0efe8;--dt-bg-tertiary:#fff;--dt-text-primary:#1a1a17;--dt-text-secondary:#6b6a65;--dt-text-tertiary:#a8a69e;--dt-border-default:#e3e2da;--dt-border-muted:#d6d5cd;--dt-border-subtle:#eeede6;--dt-glass-bg:#faf9f4c7;--dt-glass-border:#0000000f;--dt-glass-hover-border:#0f8f7a14;--dt-glass-shadow:0 0 0 1px #00000005, 0 2px 8px #0000000a, 0 8px 24px #00000008;--dt-accent-fg:#0f8f7a;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#0f8f7a33;--dt-accent-subtle:#0f8f7a12;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#16a34a;--dt-success-emphasis:#15803d;--dt-success-muted:#16a34a33;--dt-success-subtle:#16a34a12;--dt-danger-fg:#dc2626;--dt-danger-emphasis:#b91c1c;--dt-danger-muted:#dc262633;--dt-danger-subtle:#dc262612;--dt-warning-fg:#d97706;--dt-warning-emphasis:#b45309;--dt-warning-muted:#d9770633;--dt-warning-subtle:#d9770612;--dt-info-fg:#2563eb;--dt-info-emphasis:#1d4ed8;--dt-info-muted:#2563eb33;--dt-info-subtle:#2563eb12;--dt-purple-fg:#7c3aed;--dt-purple-emphasis:#6d28d9;--dt-purple-muted:#7c3aed33;--dt-purple-subtle:#7c3aed12;--dt-shadow-sm:0 0 0 1px #00000005, 0 1px 3px #0000000f;--dt-shadow-md:0 0 0 1px #00000008, 0 2px 6px #0000000d, 0 4px 12px #00000008;--dt-shadow-lg:0 0 0 1px #00000008, 0 2px 8px #0000000f, 0 8px 32px #0000000a;--dt-glow-primary:radial-gradient(circle at 50% 50%, #0f8f7a12, #c89bff08 50%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #f5b3420d, transparent 50%);--dt-annotation-comment:#0f8f7a;--dt-annotation-comment-bg:#0f8f7a1a;--dt-annotation-deletion:#dc2626;--dt-annotation-deletion-bg:#dc26261a;--dt-annotation-hover:#0000000a;--dt-glow-accent:#0f8f7a59;--dt-glow-success:#16a34a59;--dt-glow-danger:#dc262659;--dt-glow-warning:#d9770659;--dt-glow-info:#2563eb59;--dt-glow-purple:#7c3aed59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.aikit-header,.aikit-toolbox-menu,.aikit-copy-status,.aikit-footer{--aikit-background:var(--background,var(--dt-bg-primary));--aikit-foreground:var(--foreground,var(--dt-text-primary));--aikit-muted:var(--muted,var(--dt-bg-secondary));--aikit-muted-foreground:var(--muted-foreground,var(--dt-text-secondary));--aikit-border:var(--border,var(--dt-border-default));--aikit-accent:var(--accent,var(--dt-accent-subtle));--aikit-accent-foreground:var(--accent-foreground,var(--dt-accent-fg));--aikit-card:var(--card,var(--dt-bg-secondary));--aikit-card-foreground:var(--card-foreground,var(--dt-text-primary));--aikit-header-min-height:3.5rem;--aikit-header-padding-x:var(--dt-space-6);--aikit-header-padding-y:var(--dt-space-2);--aikit-header-gap:var(--dt-space-4);--aikit-header-actions-gap:var(--dt-space-2);--aikit-header-min-height-mobile:3rem;--aikit-header-padding-x-mobile:var(--dt-space-4);--aikit-header-padding-y-mobile:var(--dt-space-2);--aikit-header-gap-mobile:var(--dt-space-2);--aikit-header-actions-gap-mobile:var(--dt-space-1);--aikit-footer-padding:var(--dt-space-6) var(--dt-space-6) var(--dt-space-8);--aikit-footer-padding-mobile:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);--aikit-footer-padding-mobile-sm:var(--dt-space-4) var(--dt-space-3) var(--dt-space-6);--aikit-toolbox-menu-max-width-mobile:calc(100vw - 2rem)}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--aikit-header-gap);min-height:var(--aikit-header-min-height);padding:var(--aikit-header-padding-y) var(--aikit-header-padding-x);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 85%, transparent);-webkit-backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.aikit-header-brand,.aikit-header-actions{flex:none;min-width:0}.aikit-header-brand{color:var(--aikit-muted-foreground);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.8;align-items:center;font-weight:600;display:flex}.aikit-header-title{align-items:baseline;gap:var(--dt-space-2);flex:auto;justify-content:flex-start;min-width:0;min-height:0;display:flex}.aikit-header-title-text{min-width:0;color:var(--aikit-foreground);font-size:var(--dt-font-size-lg);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-weight:600;line-height:1.2;overflow:hidden}.aikit-header-subtitle{min-width:0;color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;line-height:1.2;overflow:hidden}.aikit-header-actions{justify-content:flex-end;align-items:center;gap:var(--aikit-header-actions-gap);min-width:max-content;display:flex}.aikit-header-actions>*{flex:none}.aikit-toolbox{position:relative}.aikit-theme-toggle,.aikit-toolbox-toggle{border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);min-width:2.75rem;height:2.75rem;color:var(--aikit-muted-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aikit-theme-toggle:hover,.aikit-toolbox-toggle:hover{background:var(--aikit-muted);color:var(--aikit-foreground);border-color:var(--aikit-border)}.aikit-theme-toggle:focus-visible,.aikit-toolbox-toggle:focus-visible,.aikit-toolbox-item:focus-visible{outline:2px solid var(--aikit-accent-foreground);outline-offset:2px}.aikit-theme-toggle-icon{transition:opacity var(--dt-transition-normal), transform var(--dt-transition-normal);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.aikit-theme-toggle-icon--sun{opacity:1;transform:scale(1)rotate(0)}.aikit-theme-toggle-icon--moon{opacity:0;transform:scale(.65)rotate(-40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--moon{opacity:1;transform:scale(1)rotate(0)}.aikit-toolbox-menu{top:calc(100% + var(--dt-space-2));gap:var(--dt-space-1);min-width:11rem;padding:var(--dt-space-2);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-lg);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--dt-shadow-lg);z-index:120;transform-origin:100% 0;animation:.15s cubic-bezier(.16,1,.3,1) aikit-menu-enter;display:grid;position:absolute;right:0}@keyframes aikit-menu-enter{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.aikit-toolbox-menu[hidden]{animation:none;display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.25rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast);background:0 0;border:1px solid #0000;display:inline-flex}.aikit-toolbox-item:hover{background:var(--aikit-muted);border-color:var(--aikit-border)}.aikit-toolbox-item svg{opacity:.7;flex:none}.aikit-copy-status{right:var(--dt-space-4);bottom:var(--dt-space-4);z-index:1000;max-width:min(28rem, calc(100vw - var(--dt-space-8)));padding:var(--dt-space-3) var(--dt-space-4);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--aikit-foreground);box-shadow:var(--dt-shadow-lg);font-size:var(--dt-font-size-sm);line-height:1.4;position:fixed}.aikit-copy-status[data-tone=error]{border-color:var(--dt-danger-muted);color:var(--dt-danger-fg)}.aikit-footer{z-index:1;padding:var(--aikit-footer-padding);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);justify-content:center;align-items:center;margin-top:auto;display:flex;position:relative}.aikit-footer-meta{justify-content:center;align-items:center;gap:var(--dt-space-2);text-align:center;flex-wrap:wrap;display:inline-flex}.aikit-footer-text{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.aikit-footer-brand{color:var(--aikit-foreground);font-family:var(--dt-font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-weight:600}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:.35rem;display:inline-flex}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header,.aikit-toolbox-menu,.aikit-copy-status{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--aikit-header-gap-mobile);padding-left:var(--aikit-header-padding-x-mobile);padding-right:var(--aikit-header-padding-x-mobile);min-height:var(--aikit-header-min-height-mobile)}.aikit-toolbox-item{min-height:2.75rem}.aikit-toolbox-menu{min-width:auto;max-width:var(--aikit-toolbox-menu-max-width-mobile);left:auto;right:0}.aikit-footer{padding:var(--aikit-footer-padding-mobile)}}@media (width<=400px){.aikit-header-actions{gap:var(--aikit-header-actions-gap-mobile)}.aikit-footer{padding:var(--aikit-footer-padding-mobile-sm)}.aikit-toolbox-menu{border-radius:var(--dt-radius-xl) var(--dt-radius-xl) 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0003}}@media (width<=320px){.aikit-header{padding-left:var(--dt-space-2);padding-right:var(--dt-space-2)}.aikit-header-title-text{font-size:var(--dt-font-size-base)}.aikit-header-subtitle{font-size:var(--dt-font-size-xs)}.aikit-footer{padding:var(--dt-space-2) var(--dt-space-2) var(--dt-space-4);font-size:.625rem}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--dt-bg-primary);min-height:100vh;color:var(--dt-text-primary);font-family:var(--dt-font-sans);font-size:var(--dt-font-size-base);margin:0;line-height:1.6}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(circle at top right, var(--dt-accent-subtle), transparent 34%), radial-gradient(circle at bottom left, var(--dt-purple-subtle), transparent 32%)}body:after{background:linear-gradient(90deg, var(--dt-border-subtle) 1px, transparent 1px), linear-gradient(var(--dt-border-subtle) 1px, transparent 1px);background-size:var(--dt-space-16) var(--dt-space-16);opacity:.35;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}a{color:var(--dt-accent-fg);text-decoration:none}a:hover{color:var(--dt-accent-emphasis);text-decoration:underline}button,input,select,textarea{font:inherit}code,pre,kbd,samp{font-family:var(--dt-font-mono)}#report-root{min-height:100vh}.report-shell{z-index:1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.report-header-shell,.report-footer-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--dt-bg-primary) 88%, transparent)}.report-header-shell{z-index:20;border-bottom:1px solid var(--dt-border-muted);position:sticky;top:0}.report-footer-shell{border-top:1px solid var(--dt-border-muted)}.report-header-shell .aikit-header,.report-main,.report-footer-shell .aikit-footer{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);margin:0 auto}.report-header-shell .aikit-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding-left:0;padding-right:0;position:static}.report-header-shell .aikit-header-title{align-items:baseline}.report-header-shell .aikit-header-title-text{font-size:clamp(var(--dt-font-size-2xl), 3vw, var(--dt-font-size-3xl));letter-spacing:-.04em;line-height:1.05}.report-header-shell .aikit-header-subtitle{display:inline}.report-footer-shell .aikit-footer{border-top:0;min-height:64px;padding-left:0;padding-right:0}.report-menu-toggle{min-height:2.5rem;padding:0 var(--dt-space-3);border:1px solid var(--border,var(--dt-border-default));background:var(--card,var(--dt-bg-secondary));color:var(--card-foreground,var(--dt-text-primary));cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.report-menu-toggle:hover{background:var(--muted,var(--dt-bg-tertiary))}.report-menu-toggle:focus-visible{outline:2px solid var(--accent-foreground,var(--dt-accent-fg));outline-offset:2px}.report-body{grid-template-columns:minmax(0,1fr);display:grid}.report-body.has-sidebar{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);grid-template-columns:250px minmax(0,1fr);margin:0 auto}.report-sidebar{height:calc(100vh - 120px);padding:var(--dt-space-6) var(--dt-space-4) var(--dt-space-6) 0;align-self:start;position:sticky;top:92px}.report-sidebar__nav{gap:var(--dt-space-2);padding-right:var(--dt-space-4);border-right:1px solid var(--dt-border-muted);display:grid}.report-sidebar__link{color:var(--dt-text-secondary);align-items:center;display:inline-flex}.report-main{padding:var(--dt-space-8) 0}.report-body.has-sidebar .report-main{width:auto;padding-left:var(--dt-space-6);margin:0}.report-main__content{gap:var(--dt-space-6);display:grid}.report-main__content>*{min-width:0}.report-overlay{z-index:10;background:color-mix(in srgb, var(--dt-bg-canvas) 74%, transparent);opacity:0;pointer-events:none;border:0;padding:0;position:fixed;inset:0}.report-shell.is-sidebar-open .report-overlay{opacity:1;pointer-events:auto}@media (width<=1080px){.report-body.has-sidebar{grid-template-columns:minmax(0,1fr);width:auto;margin:0}.report-sidebar{inset:88px auto var(--dt-space-4) var(--dt-space-4);z-index:15;width:min(280px, calc(100vw - (var(--dt-space-4) * 2)));height:auto;transform:translateX(calc(-100% - var(--dt-space-4)));transition:transform var(--dt-transition-fast);padding:0;position:fixed}.report-sidebar__nav{padding:var(--dt-space-4);border:1px solid var(--dt-border-muted);border-right:1px solid var(--dt-border-muted);border-radius:var(--dt-radius-lg);background:var(--dt-bg-secondary);box-shadow:var(--dt-shadow-lg)}.report-shell.is-sidebar-open .report-sidebar{transform:translate(0)}.report-body.has-sidebar .report-main{padding-left:0}}@media (width<=720px){.report-header-shell .aikit-header-subtitle{display:none}}
|
|
2766
2788
|
/*$vite$:1*/</style>
|
|
2767
2789
|
</head>
|