@vpxa/aikit 0.1.311 → 0.1.312
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 +429 -138
- package/packages/present/dist/index.html +466 -215
- package/packages/server/dist/bin.js +1 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/{server-uxrUzJ0L.js → server-7xSxf0JN.js} +1 -1
- package/packages/server/dist/{server-CUEJEod-.js → server-CmFyqbSY.js} +1 -1
- package/packages/server/dist/{server-http-C2Vv-0lq.js → server-http-Bz4yvjsH.js} +1 -1
- package/packages/server/dist/{server-http-DLqbe1NN.js → server-http-TJslnn3m.js} +1 -1
- package/packages/server/dist/{server-stdio-RjYFfC_c.js → server-stdio-ChvBoO39.js} +1 -1
- package/packages/server/dist/{server-stdio-h8m_nhNo.js → server-stdio-CpAW-ocu.js} +1 -1
- package/packages/server/viewers/c4-viewer.html +27 -27
- package/packages/server/viewers/canvas.html +287 -153
- package/packages/server/viewers/report-template.html +254 -120
- package/packages/server/viewers/task-plan-static.html +7 -7
- package/packages/server/viewers/tour-viewer.html +212 -78
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/docs.mjs +1 -1
|
@@ -9,27 +9,29 @@
|
|
|
9
9
|
display: flex;
|
|
10
10
|
flex-wrap: wrap;
|
|
11
11
|
gap: var(--dt-space-3);
|
|
12
|
+
align-items: center;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.bk-action,
|
|
15
16
|
.bk-select {
|
|
16
|
-
min-height: 2.
|
|
17
|
+
min-height: 2.25rem;
|
|
17
18
|
border: 1px solid var(--dt-border-default);
|
|
18
19
|
border-radius: var(--dt-radius-md);
|
|
19
20
|
background: var(--dt-bg-secondary);
|
|
20
21
|
color: var(--dt-text-primary);
|
|
21
22
|
font: inherit;
|
|
23
|
+
font-size: var(--dt-font-size-sm);
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
.bk-action {
|
|
25
27
|
padding: 0 var(--dt-space-4);
|
|
26
28
|
cursor: pointer;
|
|
27
|
-
transition:
|
|
29
|
+
transition: background var(--dt-transition-fast), border-color var(--dt-transition-fast), box-shadow var(--dt-transition-fast);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
.bk-action:hover {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
background: var(--dt-bg-tertiary);
|
|
34
|
+
border-color: var(--dt-accent-muted);
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
.bk-action--primary {
|
|
@@ -38,24 +40,37 @@
|
|
|
38
40
|
color: #ffffff;
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
.bk-action--primary:hover {
|
|
44
|
+
background: color-mix(in srgb, var(--dt-accent-emphasis) 85%, #000000);
|
|
45
|
+
border-color: var(--dt-accent-emphasis);
|
|
46
|
+
}
|
|
47
|
+
|
|
41
48
|
.bk-action--danger {
|
|
42
49
|
background: var(--dt-danger-emphasis);
|
|
43
50
|
border-color: var(--dt-danger-emphasis);
|
|
44
51
|
color: #ffffff;
|
|
45
52
|
}
|
|
46
53
|
|
|
54
|
+
.bk-action--danger:hover {
|
|
55
|
+
background: color-mix(in srgb, var(--dt-danger-emphasis) 85%, #000000);
|
|
56
|
+
border-color: var(--dt-danger-emphasis);
|
|
57
|
+
}
|
|
58
|
+
|
|
47
59
|
.bk-select {
|
|
48
60
|
padding: 0 var(--dt-space-3);
|
|
61
|
+
cursor: pointer;
|
|
49
62
|
}
|
|
63
|
+
|
|
50
64
|
.bk-text-submit { display: flex; gap: var(--dt-space-2); align-items: center; }
|
|
51
|
-
.bk-input { min-height: 2.
|
|
52
|
-
.bk-input:focus { outline:
|
|
65
|
+
.bk-input { min-height: 2.25rem; padding: 0 var(--dt-space-3); border: 1px solid var(--dt-border-default); border-radius: var(--dt-radius-md); background: var(--dt-bg-primary); color: var(--dt-text-primary); font: inherit; font-size: var(--dt-font-size-sm); flex: 1; min-width: 200px; transition: border-color var(--dt-transition-fast); }
|
|
66
|
+
.bk-input:focus { outline: none; border-color: var(--dt-accent-emphasis); box-shadow: 0 0 0 2px var(--dt-accent-subtle); }
|
|
67
|
+
.bk-input::placeholder { color: var(--dt-text-tertiary); }
|
|
53
68
|
.bk-form { display: flex; flex-direction: column; gap: var(--dt-space-3); }
|
|
54
69
|
.bk-form fieldset { border: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--dt-space-3); }
|
|
55
70
|
.bk-form-field { display: flex; flex-direction: column; gap: var(--dt-space-1); }
|
|
56
|
-
.bk-form-label { font-size:
|
|
57
|
-
.bk-action-feedback { font-size:
|
|
58
|
-
.bk-action-feedback[data-feedback-state="sent"] { color: var(--dt-success-fg
|
|
71
|
+
.bk-form-label { font-size: var(--dt-font-size-sm); font-weight: 500; color: var(--dt-text-secondary); }
|
|
72
|
+
.bk-action-feedback { font-size: var(--dt-font-size-sm); color: var(--dt-text-secondary); padding: var(--dt-space-2) 0; }
|
|
73
|
+
.bk-action-feedback[data-feedback-state="sent"] { color: var(--dt-success-fg); }
|
|
59
74
|
`;function f(t,r){return`<div class="bk-actions">${u(t.value).map(t=>{let r=n(t.id);if(t.type===`select`){let n=(t.options??[]).map(t=>{let n=typeof t==`string`?t:t.value,r=typeof t==`string`?t:t.label;return`<option value="${e(n)}">${e(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${e(t.label)}</span><select class="bk-select" data-action-id="${r}"><option value="" selected disabled>${e(t.label)}</option>${n}</select></label>`}if(t.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${r}"><input type="text" class="bk-input" placeholder="${e(t.label)}" data-action-id="${r}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${r}">Send</button></div>`;if(t.type===`form-submit`&&t.schema){let n=t.schema;return`<form class="bk-form" data-action-id="${r}"><fieldset>${Object.entries(n).map(([t,n])=>{let r=n.description??t,i=n.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${e(r)}</span><input type="${i}" class="bk-input" name="${e(t)}" placeholder="${e(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${e(t.label)}</button></fieldset></form>`}return`<button type="button" class="bk-action bk-action--${e(t.variant??`default`)}" data-action-id="${r}">${e(t.label)}</button>`}).join(``)}<div class="bk-action-feedback" style="display:none;font-size:0.875rem;color:var(--dt-text-secondary);padding:var(--dt-space-2) 0;" data-feedback-state="pending">💬 Feedback sent</div></div>`}var p=`
|
|
60
75
|
.bk-cards {
|
|
61
76
|
display: grid;
|
|
@@ -66,17 +81,18 @@
|
|
|
66
81
|
.bk-card {
|
|
67
82
|
display: grid;
|
|
68
83
|
gap: var(--dt-space-3);
|
|
69
|
-
padding: var(--dt-space-
|
|
84
|
+
padding: var(--dt-space-5);
|
|
70
85
|
border: 1px solid var(--dt-border-default);
|
|
71
86
|
border-radius: var(--dt-radius-xl);
|
|
72
|
-
background:
|
|
87
|
+
background: var(--dt-bg-secondary);
|
|
73
88
|
box-shadow: var(--dt-shadow-sm);
|
|
74
|
-
transition: transform var(--dt-transition-
|
|
89
|
+
transition: transform var(--dt-transition-normal), box-shadow var(--dt-transition-normal), border-color var(--dt-transition-normal);
|
|
75
90
|
}
|
|
76
91
|
|
|
77
92
|
.bk-card:hover {
|
|
78
|
-
transform: translateY(-
|
|
79
|
-
|
|
93
|
+
transform: translateY(-2px);
|
|
94
|
+
border-color: var(--dt-accent-muted);
|
|
95
|
+
box-shadow: 0 0 0 1px var(--dt-accent-subtle), var(--dt-shadow-md);
|
|
80
96
|
}
|
|
81
97
|
|
|
82
98
|
.bk-card-header {
|
|
@@ -90,21 +106,25 @@
|
|
|
90
106
|
color: var(--dt-text-primary);
|
|
91
107
|
font-size: var(--dt-font-size-lg);
|
|
92
108
|
font-weight: 600;
|
|
109
|
+
letter-spacing: -0.01em;
|
|
93
110
|
}
|
|
94
111
|
|
|
95
112
|
.bk-card-body,
|
|
96
113
|
.bk-card-description {
|
|
97
114
|
color: var(--dt-text-secondary);
|
|
98
115
|
line-height: 1.6;
|
|
116
|
+
font-size: var(--dt-font-size-sm);
|
|
99
117
|
}
|
|
100
118
|
|
|
101
119
|
.bk-card-badge {
|
|
102
|
-
padding:
|
|
103
|
-
border-radius:
|
|
120
|
+
padding: 2px var(--dt-space-2);
|
|
121
|
+
border-radius: var(--dt-radius-pill);
|
|
104
122
|
background: var(--dt-accent-subtle);
|
|
105
123
|
color: var(--dt-accent-fg);
|
|
106
124
|
font-size: var(--dt-font-size-xs);
|
|
107
125
|
font-weight: 600;
|
|
126
|
+
letter-spacing: 0.02em;
|
|
127
|
+
white-space: nowrap;
|
|
108
128
|
}
|
|
109
129
|
`;function m(t,n){return`<div class="bk-cards">${l(t).map(t=>{let n=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,r=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,i=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}"><div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${n}</div>${r}${i}</article>`}).join(``)}</div>`}var h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],g=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),_=500,v=300,y=300,ee=100,b=30,te=`
|
|
110
130
|
.bk-chart {
|
|
@@ -216,7 +236,7 @@
|
|
|
216
236
|
border-bottom: 1px solid var(--dt-border-muted);
|
|
217
237
|
text-align: left;
|
|
218
238
|
}
|
|
219
|
-
`;function ne(e,t){let n=re(e),r=de(n.headers,n.data);if(n.data.length===0||!g.has(n.chartType))return fe(n.note,r);let i=ie(n);if(!i)return fe(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?me(a):``}${pe(r)}</div>`}function re(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=g.has(a)?a:`bar`,s=e(a),c=he(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 ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return ce(e,!1);case`donut`:return ce(e,!0);case`sparkline`:return le(e);case`heatmap`:return ue(e);default:return``}}function ae(t,n){let r=x(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=C(i),o=S(_,v,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>xe(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=h[t%h.length],c=r.map((e,n)=>{let r=s[n],i=w(e.values[t],a,o.bottom,o.top);return`${D(r)},${D(i)}`}),l=r.map((e,n)=>{let r=s[n],c=w(e.values[t],a,o.bottom,o.top);return`<circle cx="${D(r)}" cy="${D(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="${[`${D(s[0])},${D(o.bottom)}`,...c,`${D(s[s.length-1])},${D(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${_e(o,a)}${ye(o)}${be(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=x(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=C(n,{includeZero:!0}),i=S(_,v,{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=w(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=h[t%h.length],s=n+t*(o+4),l=w(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(s)}" y="${D(u)}" width="${D(o)}" height="${D(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 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${_e(i,r)}${ye(i)}${be(t,u,i.bottom+18)}${l}</svg>`}function se(t){let n=x(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=C(r,{includeZero:!0}),a=S(_,v,{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=w(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="${D(a.left-8)}" y="${D(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=w(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(u)}" y="${D(o)}" width="${D(d)}" height="${D(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ve(a,i)}<line class="bk-chart-axis" x1="${D(l)}" y1="${D(a.top)}" x2="${D(l)}" y2="${D(a.bottom)}" />${u}</svg>`}function ce(t,n){let r=ge(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:Te(e[t.xKey]),value:E(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=y/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=h[r%h.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?Ce(o,140,88,s,c,f):Se(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 g=T(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${D(g.x)}" y="${D(g.y)}" text-anchor="${g.x>=o?`start`:`end`}">${e(t.label)} ${e(De(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${D(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${y} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function le(e){let t=ge(e.data,e.xKey,e.yKeys),n=e.data.map(e=>E(e[t]));if(n.every(e=>e===0))return``;let r=C(n),i=n.map((e,t)=>{let i=xe(t,n.length,0,ee),a=w(e,r,b-2,2);return`${D(i)},${D(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ee} ${b}" width="100%" height="${b}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ue(t){let n=t.data.map(e=>({label:Te(e[t.xKey]),values:t.yKeys.map(t=>E(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=C(r),a=S(_,v,{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 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${D(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="${D(a.left-8)}" y="${D(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="${D(r)}" y="${D(c)}" width="${D(o-4)}" height="${D(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${we(e,i)}" />`}).join(``)).join(``)}</svg>`}function de(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 fe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function pe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function me(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:${h[n%h.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function he(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 ge(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ee(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ee(n[e]));if(e)return e}return n[0]??`value`}function x(e,t,n){return e.map(e=>({label:Te(e[t]),values:n.map(t=>E(e[t]))}))}function _e(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="${D(t.left)}" y1="${D(s)}" x2="${D(t.right)}" y2="${D(s)}" /><text class="bk-chart-label" x="${D(t.left-8)}" y="${D(s+4)}" text-anchor="end">${e(De(o))}</text>`}).join(``)}function ve(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="${D(s)}" y1="${D(t.top)}" x2="${D(s)}" y2="${D(t.bottom)}" /><text class="bk-chart-label" x="${D(s)}" y="${D(t.bottom+18)}" text-anchor="middle">${e(De(o))}</text>`}).join(``)}function ye(e){return`<line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.top)}" x2="${D(e.left)}" y2="${D(e.bottom)}" /><line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.bottom)}" x2="${D(e.right)}" y2="${D(e.bottom)}" />`}function be(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${D(n[i])}" y="${D(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function S(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 C(e,t){let n=Math.min(...e),r=Math.max(...e);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 xe(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function w(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Se(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=T(e,t,n,r),o=T(e,t,n,i),s=+(i-r>180);return`M ${D(e)} ${D(t)} L ${D(a.x)} ${D(a.y)} A ${D(n)} ${D(n)} 0 ${s} 1 ${D(o.x)} ${D(o.y)} Z`}function Ce(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=T(e,t,n,i),s=T(e,t,n,a),c=T(e,t,r,a),l=T(e,t,r,i),u=+(a-i>180);return[`M ${D(o.x)} ${D(o.y)}`,`A ${D(n)} ${D(n)} 0 ${u} 1 ${D(s.x)} ${D(s.y)}`,`L ${D(c.x)} ${D(c.y)}`,`A ${D(r)} ${D(r)} 0 ${u} 0 ${D(l.x)} ${D(l.y)}`,`Z`].join(` `)}function T(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 we(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) ${D(100-n)}%, var(--dt-accent-fg) ${D(n)}%)`}function Te(e){return e==null?``:String(r(e))}function E(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 Ee(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function De(e){return String(r(Number(e.toFixed(2))))}function D(e){return Number(e.toFixed(2)).toString()}var Oe=`
|
|
239
|
+
`;function ne(e,t){let n=re(e),r=de(n.headers,n.data);if(n.data.length===0||!g.has(n.chartType))return fe(n.note,r);let i=ie(n);if(!i)return fe(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?me(a):``}${pe(r)}</div>`}function re(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=g.has(a)?a:`bar`,s=e(a),c=he(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 ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return ce(e,!1);case`donut`:return ce(e,!0);case`sparkline`:return le(e);case`heatmap`:return ue(e);default:return``}}function ae(t,n){let r=_e(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=S(i),o=x(_,v,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Se(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=h[t%h.length],c=r.map((e,n)=>{let r=s[n],i=C(e.values[t],a,o.bottom,o.top);return`${O(r)},${O(i)}`}),l=r.map((e,n)=>{let r=s[n],c=C(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 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${ve(o,a)}${be(o)}${xe(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=_e(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=S(n,{includeZero:!0}),i=x(_,v,{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=C(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=h[t%h.length],s=n+t*(o+4),l=C(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 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${ve(i,r)}${be(i)}${xe(t,u,i.bottom+18)}${l}</svg>`}function se(t){let n=_e(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r,{includeZero:!0}),a=x(_,v,{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=C(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=h[t%h.length],o=r+t*(s+4),c=C(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 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ye(a,i)}<line class="bk-chart-axis" x1="${O(l)}" y1="${O(a.top)}" x2="${O(l)}" y2="${O(a.bottom)}" />${u}</svg>`}function ce(t,n){let r=ge(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:T(e[t.xKey]),value:E(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=y/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=h[r%h.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?we(o,140,88,s,c,f):Ce(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 g=w(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${O(g.x)}" y="${O(g.y)}" text-anchor="${g.x>=o?`start`:`end`}">${e(t.label)} ${e(D(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 ${y} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function le(e){let t=ge(e.data,e.xKey,e.yKeys),n=e.data.map(e=>E(e[t]));if(n.every(e=>e===0))return``;let r=S(n),i=n.map((e,t)=>{let i=Se(t,n.length,0,ee),a=C(e,r,b-2,2);return`${O(i)},${O(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ee} ${b}" width="100%" height="${b}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ue(t){let n=t.data.map(e=>({label:T(e[t.xKey]),values:t.yKeys.map(t=>E(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r),a=x(_,v,{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 ${_} ${v}" 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: ${Te(e,i)}" />`}).join(``)).join(``)}</svg>`}function de(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 fe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function pe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function me(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:${h[n%h.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function he(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 ge(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ee(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ee(n[e]));if(e)return e}return n[0]??`value`}function _e(e,t,n){return e.map(e=>({label:T(e[t]),values:n.map(t=>E(e[t]))}))}function ve(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(D(o))}</text>`}).join(``)}function ye(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(D(o))}</text>`}).join(``)}function be(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 xe(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 x(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 S(e,t){let n=Math.min(...e),r=Math.max(...e);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 Se(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function C(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Ce(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=w(e,t,n,r),o=w(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 we(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=w(e,t,n,i),s=w(e,t,n,a),c=w(e,t,r,a),l=w(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 w(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 Te(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 T(e){return e==null?``:String(r(e))}function E(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 Ee(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function D(e){return String(r(Number(e.toFixed(2))))}function O(e){return Number(e.toFixed(2)).toString()}var De=`
|
|
220
240
|
.bk-checklist {
|
|
221
241
|
display: grid;
|
|
222
242
|
gap: var(--dt-space-2);
|
|
@@ -233,18 +253,26 @@
|
|
|
233
253
|
border: 1px solid var(--dt-border-default);
|
|
234
254
|
border-radius: var(--dt-radius-lg);
|
|
235
255
|
background: var(--dt-bg-secondary);
|
|
256
|
+
transition: border-color var(--dt-transition-fast), background var(--dt-transition-fast);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.bk-checklist-item:hover {
|
|
260
|
+
border-color: var(--dt-accent-muted);
|
|
261
|
+
background: var(--dt-bg-tertiary);
|
|
236
262
|
}
|
|
237
263
|
|
|
238
264
|
.bk-checklist-icon {
|
|
239
265
|
display: inline-flex;
|
|
240
266
|
align-items: center;
|
|
241
267
|
justify-content: center;
|
|
242
|
-
width:
|
|
243
|
-
height:
|
|
244
|
-
|
|
268
|
+
width: 1.5rem;
|
|
269
|
+
height: 1.5rem;
|
|
270
|
+
flex-shrink: 0;
|
|
271
|
+
margin-top: 1px;
|
|
272
|
+
border-radius: var(--dt-radius-sm);
|
|
245
273
|
background: var(--dt-danger-subtle);
|
|
246
274
|
color: var(--dt-danger-fg);
|
|
247
|
-
font-size: var(--dt-font-size-
|
|
275
|
+
font-size: var(--dt-font-size-xs);
|
|
248
276
|
font-weight: 700;
|
|
249
277
|
}
|
|
250
278
|
|
|
@@ -255,25 +283,29 @@
|
|
|
255
283
|
|
|
256
284
|
.bk-checklist-label {
|
|
257
285
|
color: var(--dt-text-primary);
|
|
286
|
+
font-size: var(--dt-font-size-sm);
|
|
287
|
+
line-height: 1.5;
|
|
288
|
+
padding-top: 1px;
|
|
258
289
|
}
|
|
259
|
-
`;function
|
|
290
|
+
`;function Oe(t,n){return`<ul class="bk-checklist">${l(t).map(t=>{let n=!!t.checked;return`<li class="bk-checklist-item" data-checked="${String(n)}"><span class="bk-checklist-icon">${n?`✓`:`×`}</span><span class="bk-checklist-label">${e(t.label)}</span></li>`}).join(``)}</ul>`}var ke=`
|
|
260
291
|
.bk-code {
|
|
261
292
|
margin: 0;
|
|
262
|
-
padding: var(--dt-space-
|
|
293
|
+
padding: var(--dt-space-5);
|
|
263
294
|
overflow-x: auto;
|
|
264
295
|
border: 1px solid var(--dt-border-default);
|
|
265
296
|
border-radius: var(--dt-radius-lg);
|
|
266
|
-
background: var(--dt-bg-secondary);
|
|
297
|
+
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
267
298
|
color: var(--dt-text-primary);
|
|
299
|
+
box-shadow: inset 0 0 0 1px var(--dt-border-subtle);
|
|
300
|
+
tab-size: 2;
|
|
268
301
|
}
|
|
269
302
|
|
|
270
303
|
.bk-code code {
|
|
271
304
|
font-family: var(--dt-font-mono);
|
|
272
305
|
font-size: var(--dt-font-size-sm);
|
|
273
|
-
line-height: 1.
|
|
274
|
-
tab-size: 2;
|
|
306
|
+
line-height: 1.7;
|
|
275
307
|
}
|
|
276
|
-
`;function
|
|
308
|
+
`;function Ae(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);return`<pre class="bk-code"><code class="${i.trim()}">${e(o)}</code></pre>`}function je(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}var Me=`
|
|
277
309
|
.bk-comparison {
|
|
278
310
|
display: grid;
|
|
279
311
|
grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
|
|
@@ -283,26 +315,37 @@
|
|
|
283
315
|
.bk-comparison-column {
|
|
284
316
|
display: grid;
|
|
285
317
|
gap: var(--dt-space-3);
|
|
286
|
-
padding: var(--dt-space-
|
|
318
|
+
padding: var(--dt-space-5);
|
|
287
319
|
border: 1px solid var(--dt-border-default);
|
|
288
320
|
border-radius: var(--dt-radius-lg);
|
|
289
321
|
background: var(--dt-bg-secondary);
|
|
322
|
+
box-shadow: var(--dt-shadow-sm);
|
|
290
323
|
}
|
|
291
324
|
|
|
292
325
|
.bk-comparison-title {
|
|
293
326
|
color: var(--dt-text-primary);
|
|
294
327
|
font-size: var(--dt-font-size-lg);
|
|
295
328
|
font-weight: 600;
|
|
329
|
+
letter-spacing: -0.01em;
|
|
330
|
+
padding-bottom: var(--dt-space-2);
|
|
331
|
+
border-bottom: 1px solid var(--dt-border-muted);
|
|
296
332
|
}
|
|
297
333
|
|
|
298
334
|
.bk-comparison-items {
|
|
299
335
|
display: grid;
|
|
300
336
|
gap: var(--dt-space-2);
|
|
301
337
|
margin: 0;
|
|
338
|
+
padding: 0;
|
|
302
339
|
padding-left: var(--dt-space-4);
|
|
303
340
|
color: var(--dt-text-secondary);
|
|
341
|
+
font-size: var(--dt-font-size-sm);
|
|
342
|
+
line-height: 1.6;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.bk-comparison-items li {
|
|
346
|
+
padding-left: var(--dt-space-1);
|
|
304
347
|
}
|
|
305
|
-
`;function
|
|
348
|
+
`;function Ne(t,n){return`<div class="bk-comparison">${je(t.value).map(t=>{let n=t.items.map(t=>`<li>${e(t)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${e(t.title)}</div><ul class="bk-comparison-items">${n}</ul></section>`}).join(``)}</div>`}function Pe(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 Fe(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 Ie(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 Le(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 Re(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 ze(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 Be=`
|
|
306
349
|
.bk-component-detail {
|
|
307
350
|
display: grid;
|
|
308
351
|
gap: var(--dt-space-4);
|
|
@@ -506,7 +549,7 @@
|
|
|
506
549
|
padding-bottom: var(--dt-space-3);
|
|
507
550
|
}
|
|
508
551
|
}
|
|
509
|
-
`;function
|
|
552
|
+
`;function Ve(t,n){let r=Pe(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=[Fe(r.responsibilities??[]),Ie(r.interfaces??[]),Le(r.dependencies??[]),Re(r.metrics),ze(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 He(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 Ue(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function We(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 Ge(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 Ke=`
|
|
510
553
|
.bk-data-table-schema {
|
|
511
554
|
display: grid;
|
|
512
555
|
gap: var(--dt-space-4);
|
|
@@ -629,7 +672,7 @@
|
|
|
629
672
|
color: var(--dt-text-primary);
|
|
630
673
|
font-weight: 700;
|
|
631
674
|
}
|
|
632
|
-
`;function
|
|
675
|
+
`;function qe(t,r){let i=He(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=>We(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Ue(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>${Ge(i.indexes??[])}</section>`}var Je=`
|
|
633
676
|
.bk-diff { overflow-x: auto; font-family: var(--dt-font-mono); font-size: var(--dt-font-size-sm); border: 1px solid var(--dt-border-default); border-radius: var(--dt-radius-lg); }
|
|
634
677
|
.bk-diff-table { width: 100%; border-collapse: collapse; }
|
|
635
678
|
.bk-diff-ln { color: var(--dt-text-tertiary); padding: 0 8px; text-align: right; user-select: none; width: 1%; white-space: nowrap; border-right: 1px solid var(--dt-border-default); }
|
|
@@ -638,11 +681,11 @@
|
|
|
638
681
|
.bk-diff-add td { background: var(--dt-green-subtle); }
|
|
639
682
|
.bk-diff-del td { background: var(--dt-red-subtle); }
|
|
640
683
|
.bk-diff-header td { font-weight: bold; padding: 4px 12px; background: var(--dt-bg-secondary); }
|
|
641
|
-
`;function
|
|
684
|
+
`;function Ye(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 Xe(t.before,t.after)}return``}function Xe(e,t){let n=e.split(`
|
|
642
685
|
`),r=t.split(`
|
|
643
686
|
`),i=[`@@ -1,${n.length} +1,${r.length} @@`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
|
|
644
|
-
`)}function
|
|
645
|
-
`),a=0,o=0,s=[];for(let t of i)if(t.startsWith(`@@`)){let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+(\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(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))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++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t)}</td></tr>`);else{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>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function
|
|
687
|
+
`)}function Ze(t,n){let r=Ye(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
|
|
688
|
+
`),a=0,o=0,s=[];for(let t of i)if(t.startsWith(`@@`)){let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+(\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(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))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++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t)}</td></tr>`);else{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>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function Qe(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var $e=`
|
|
646
689
|
.bk-docs-browser {
|
|
647
690
|
display: grid;
|
|
648
691
|
gap: var(--dt-space-3);
|
|
@@ -687,7 +730,7 @@
|
|
|
687
730
|
font-size: var(--dt-font-size-xs);
|
|
688
731
|
font-weight: 700;
|
|
689
732
|
}
|
|
690
|
-
`;function
|
|
733
|
+
`;function et(t,n){return`<div class="bk-docs-browser">${Qe(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 tt(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 nt(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function rt(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="${nt(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 it=`
|
|
691
734
|
.bk-docs-hub {
|
|
692
735
|
display: grid;
|
|
693
736
|
gap: var(--dt-space-4);
|
|
@@ -823,15 +866,21 @@
|
|
|
823
866
|
grid-template-columns: minmax(0, 1fr);
|
|
824
867
|
}
|
|
825
868
|
}
|
|
826
|
-
`;function
|
|
869
|
+
`;function at(t,n){let r=tt(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=>rt(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function ot(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 st=`
|
|
827
870
|
.bk-finding {
|
|
828
871
|
display: grid;
|
|
829
872
|
gap: var(--dt-space-3);
|
|
830
|
-
padding: var(--dt-space-4);
|
|
873
|
+
padding: var(--dt-space-4) var(--dt-space-5);
|
|
831
874
|
border: 1px solid var(--dt-border-default);
|
|
832
875
|
border-radius: var(--dt-radius-xl);
|
|
833
|
-
background:
|
|
876
|
+
background: var(--dt-bg-secondary);
|
|
834
877
|
box-shadow: var(--dt-shadow-sm);
|
|
878
|
+
transition: border-color var(--dt-transition-fast), box-shadow var(--dt-transition-fast);
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.bk-finding:hover {
|
|
882
|
+
border-color: var(--dt-accent-muted);
|
|
883
|
+
box-shadow: var(--dt-shadow-md);
|
|
835
884
|
}
|
|
836
885
|
|
|
837
886
|
.bk-finding-header {
|
|
@@ -844,22 +893,27 @@
|
|
|
844
893
|
.bk-finding-title {
|
|
845
894
|
color: var(--dt-text-primary);
|
|
846
895
|
font-size: var(--dt-font-size-lg);
|
|
847
|
-
font-weight:
|
|
896
|
+
font-weight: 600;
|
|
897
|
+
letter-spacing: -0.01em;
|
|
848
898
|
}
|
|
849
899
|
|
|
850
900
|
.bk-finding-severity {
|
|
851
|
-
padding:
|
|
852
|
-
border-radius:
|
|
901
|
+
padding: 2px var(--dt-space-2);
|
|
902
|
+
border-radius: var(--dt-radius-pill);
|
|
853
903
|
font-size: var(--dt-font-size-xs);
|
|
854
904
|
font-weight: 700;
|
|
855
905
|
text-transform: uppercase;
|
|
906
|
+
letter-spacing: 0.04em;
|
|
907
|
+
white-space: nowrap;
|
|
908
|
+
flex-shrink: 0;
|
|
856
909
|
}
|
|
857
910
|
|
|
858
911
|
.bk-finding-detail {
|
|
859
912
|
color: var(--dt-text-secondary);
|
|
860
913
|
line-height: 1.7;
|
|
914
|
+
font-size: var(--dt-font-size-sm);
|
|
861
915
|
}
|
|
862
|
-
`;function
|
|
916
|
+
`;function ct(t,n){let r=ot(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 lt(e){return String(e??``).replace(/"/g,`\\"`)}var ut=`
|
|
863
917
|
.bk-graph {
|
|
864
918
|
margin: 0;
|
|
865
919
|
padding: var(--dt-space-4);
|
|
@@ -872,26 +926,27 @@
|
|
|
872
926
|
font-size: var(--dt-font-size-sm);
|
|
873
927
|
line-height: 1.6;
|
|
874
928
|
}
|
|
875
|
-
`;function
|
|
876
|
-
`))}</pre>`}var
|
|
929
|
+
`;function dt(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=lt(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?`|${lt(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
|
|
930
|
+
`))}</pre>`}var ft=`
|
|
877
931
|
.bk-heading {
|
|
878
932
|
margin: 0;
|
|
879
933
|
color: var(--dt-text-primary);
|
|
880
934
|
font-family: var(--dt-font-sans);
|
|
881
935
|
font-weight: 700;
|
|
882
|
-
line-height: 1.
|
|
936
|
+
line-height: 1.2;
|
|
937
|
+
letter-spacing: -0.02em;
|
|
883
938
|
}
|
|
884
|
-
.bk-heading--1 { font-size: var(--dt-font-size-
|
|
885
|
-
.bk-heading--2 { font-size: var(--dt-font-size-
|
|
886
|
-
.bk-heading--3 { font-size: var(--dt-font-size-
|
|
887
|
-
.bk-heading--4 { font-size: var(--dt-font-size-
|
|
939
|
+
.bk-heading--1 { font-size: var(--dt-font-size-4xl); letter-spacing: -0.03em; }
|
|
940
|
+
.bk-heading--2 { font-size: var(--dt-font-size-3xl); }
|
|
941
|
+
.bk-heading--3 { font-size: var(--dt-font-size-2xl); }
|
|
942
|
+
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
888
943
|
.bk-heading--5,
|
|
889
|
-
.bk-heading--6 { font-size: var(--dt-font-size-base); }
|
|
890
|
-
`;function
|
|
944
|
+
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
945
|
+
`;function pt(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 mt(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 ht=`
|
|
891
946
|
.bk-kv {
|
|
892
947
|
display: grid;
|
|
948
|
+
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
893
949
|
gap: var(--dt-space-3);
|
|
894
|
-
margin: 0;
|
|
895
950
|
}
|
|
896
951
|
|
|
897
952
|
.bk-kv-entry {
|
|
@@ -901,13 +956,13 @@
|
|
|
901
956
|
padding: var(--dt-space-3) var(--dt-space-4);
|
|
902
957
|
border: 1px solid var(--dt-border-default);
|
|
903
958
|
border-radius: var(--dt-radius-lg);
|
|
904
|
-
background:
|
|
959
|
+
background: var(--dt-bg-secondary);
|
|
905
960
|
}
|
|
906
961
|
|
|
907
962
|
.bk-kv-key {
|
|
908
963
|
margin: 0;
|
|
909
|
-
color: var(--dt-text-
|
|
910
|
-
font-size: var(--dt-font-size-
|
|
964
|
+
color: var(--dt-text-tertiary);
|
|
965
|
+
font-size: var(--dt-font-size-xs);
|
|
911
966
|
font-weight: 600;
|
|
912
967
|
letter-spacing: 0.04em;
|
|
913
968
|
text-transform: uppercase;
|
|
@@ -916,9 +971,10 @@
|
|
|
916
971
|
.bk-kv-value {
|
|
917
972
|
margin: 0;
|
|
918
973
|
color: var(--dt-text-primary);
|
|
919
|
-
|
|
974
|
+
font-size: var(--dt-font-size-sm);
|
|
975
|
+
line-height: 1.5;
|
|
920
976
|
}
|
|
921
|
-
`;function
|
|
977
|
+
`;function gt(e,t){return`<dl class="bk-kv">${mt(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 _t=164,vt=84,yt=44,bt=32,xt=28;function St(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 Ct(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function wt(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 Tt(e){return e.type===`decision`?{width:112,height:112}:{width:_t,height:vt}}function Et(e){let t=bt;return e.map(e=>{let{width:n,height:r}=Tt(e),i={step:e,x:t,y:xt,width:n,height:r,centerX:t+n/2,centerY:xt+r/2};return t+=n+yt,i})}function Dt(t){let r=wt(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?wt(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--${Ct(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function Ot(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 kt(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var At=`
|
|
922
978
|
.bk-lifecycle-flow {
|
|
923
979
|
display: grid;
|
|
924
980
|
gap: var(--dt-space-3);
|
|
@@ -1012,7 +1068,7 @@
|
|
|
1012
1068
|
.bk-lifecycle-flow-node--slate {
|
|
1013
1069
|
color: var(--dt-text-secondary);
|
|
1014
1070
|
}
|
|
1015
|
-
`;function
|
|
1071
|
+
`;function jt(t,n){let r=St(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=Et(i),o=new Map(a.map(e=>[e.step.id,e])),s=kt(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+bt);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=>Ot(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>Dt(e)).join(``)}</g></svg></div></figure>`}var Mt=`
|
|
1016
1072
|
.bk-list {
|
|
1017
1073
|
display: grid;
|
|
1018
1074
|
gap: var(--dt-space-2);
|
|
@@ -1025,6 +1081,7 @@
|
|
|
1025
1081
|
position: relative;
|
|
1026
1082
|
padding-left: var(--dt-space-5);
|
|
1027
1083
|
color: var(--dt-text-primary);
|
|
1084
|
+
font-size: var(--dt-font-size-sm);
|
|
1028
1085
|
line-height: 1.7;
|
|
1029
1086
|
}
|
|
1030
1087
|
|
|
@@ -1033,23 +1090,23 @@
|
|
|
1033
1090
|
position: absolute;
|
|
1034
1091
|
top: 0.85em;
|
|
1035
1092
|
left: var(--dt-space-1);
|
|
1036
|
-
width: 0.
|
|
1037
|
-
height: 0.
|
|
1093
|
+
width: 0.375rem;
|
|
1094
|
+
height: 0.375rem;
|
|
1038
1095
|
border-radius: 999px;
|
|
1039
1096
|
background: var(--dt-accent-fg);
|
|
1040
1097
|
box-shadow: 0 0 0 3px var(--dt-accent-subtle);
|
|
1041
1098
|
transform: translateY(-50%);
|
|
1042
1099
|
}
|
|
1043
|
-
`;function
|
|
1044
|
-
${
|
|
1100
|
+
`;function Nt(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 Pt=`
|
|
1101
|
+
${ft}
|
|
1045
1102
|
.bk-markdown {
|
|
1046
1103
|
color: var(--dt-text-primary);
|
|
1047
1104
|
font-size: var(--dt-font-size-base);
|
|
1048
1105
|
line-height: 1.7;
|
|
1049
1106
|
}
|
|
1050
|
-
`,
|
|
1051
|
-
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(
|
|
1052
|
-
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var
|
|
1107
|
+
`,Ft=/^(#{1,6})\s+(.+)$/,It=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function Lt(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function Rt(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=Lt(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)}"`:``;i.push(`<pre class="bk-code"><code${t}>${e(s.join(`
|
|
1108
|
+
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(Ft);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(It.test(n)){l(),i.push(`<hr>`);continue}a.push(t)}if(l(),o&&s.length>0){let t=c?` class="${e(c)}"`:``;i.push(`<pre class="bk-code"><code${t}>${e(s.join(`
|
|
1109
|
+
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var zt=`
|
|
1053
1110
|
.bk-mermaid {
|
|
1054
1111
|
margin: 0;
|
|
1055
1112
|
padding: var(--dt-space-4);
|
|
@@ -1078,7 +1135,7 @@ ${pt}
|
|
|
1078
1135
|
max-width: 100%;
|
|
1079
1136
|
height: auto;
|
|
1080
1137
|
}
|
|
1081
|
-
`;function
|
|
1138
|
+
`;function Bt(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function Vt(t){if(t==null||t===``)return``;let n=r(t),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 Ht=`
|
|
1082
1139
|
.bk-metrics {
|
|
1083
1140
|
display: grid;
|
|
1084
1141
|
grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
|
|
@@ -1088,41 +1145,50 @@ ${pt}
|
|
|
1088
1145
|
.bk-metric {
|
|
1089
1146
|
display: grid;
|
|
1090
1147
|
gap: var(--dt-space-2);
|
|
1091
|
-
padding: var(--dt-space-
|
|
1148
|
+
padding: var(--dt-space-5);
|
|
1092
1149
|
border: 1px solid var(--dt-border-default);
|
|
1093
|
-
border-radius: var(--dt-radius-
|
|
1094
|
-
background:
|
|
1095
|
-
box-shadow:
|
|
1096
|
-
transition: transform var(--dt-transition-
|
|
1150
|
+
border-radius: var(--dt-radius-xl);
|
|
1151
|
+
background: var(--dt-bg-secondary);
|
|
1152
|
+
box-shadow: var(--dt-shadow-sm);
|
|
1153
|
+
transition: transform var(--dt-transition-normal), box-shadow var(--dt-transition-normal), border-color var(--dt-transition-normal);
|
|
1097
1154
|
}
|
|
1098
1155
|
|
|
1099
1156
|
.bk-metric:hover {
|
|
1100
|
-
transform: translateY(-
|
|
1101
|
-
|
|
1157
|
+
transform: translateY(-2px);
|
|
1158
|
+
border-color: var(--dt-accent-muted);
|
|
1159
|
+
box-shadow: 0 0 0 1px var(--dt-accent-subtle), var(--dt-shadow-md);
|
|
1102
1160
|
}
|
|
1103
1161
|
|
|
1104
1162
|
.bk-metric-value {
|
|
1105
1163
|
color: var(--dt-text-primary);
|
|
1106
|
-
font-size: var(--dt-font-size-
|
|
1164
|
+
font-size: var(--dt-font-size-3xl);
|
|
1107
1165
|
font-weight: 700;
|
|
1166
|
+
letter-spacing: -0.02em;
|
|
1167
|
+
line-height: 1.1;
|
|
1108
1168
|
}
|
|
1109
1169
|
|
|
1110
|
-
.bk-metric-label
|
|
1111
|
-
.bk-metric-trend {
|
|
1170
|
+
.bk-metric-label {
|
|
1112
1171
|
color: var(--dt-text-secondary);
|
|
1113
1172
|
font-size: var(--dt-font-size-sm);
|
|
1173
|
+
font-weight: 500;
|
|
1174
|
+
letter-spacing: 0.02em;
|
|
1114
1175
|
}
|
|
1115
|
-
|
|
1176
|
+
|
|
1177
|
+
.bk-metric-trend {
|
|
1178
|
+
color: var(--dt-text-tertiary);
|
|
1179
|
+
font-size: var(--dt-font-size-sm);
|
|
1180
|
+
}
|
|
1181
|
+
`;function Ut(t,n){return`<div class="bk-metrics">${l(t).map(t=>`<article class="bk-metric" data-tone="${c(t.status)}"><div class="bk-metric-label">${e(t.label)}</div><div class="bk-metric-value">${e(r(t.value))}</div>${Vt(t.trend)}</article>`).join(``)}</div>`}var Wt=`
|
|
1116
1182
|
.bk-paragraph {
|
|
1117
1183
|
margin: 0;
|
|
1118
1184
|
color: var(--dt-text-primary);
|
|
1119
1185
|
font-size: var(--dt-font-size-base);
|
|
1120
1186
|
line-height: 1.7;
|
|
1121
1187
|
}
|
|
1122
|
-
`;function
|
|
1188
|
+
`;function Gt(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function Kt(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 qt=`
|
|
1123
1189
|
.bk-progress {
|
|
1124
1190
|
display: grid;
|
|
1125
|
-
gap: var(--dt-space-
|
|
1191
|
+
gap: var(--dt-space-4);
|
|
1126
1192
|
}
|
|
1127
1193
|
|
|
1128
1194
|
.bk-progress-item {
|
|
@@ -1136,14 +1202,15 @@ ${pt}
|
|
|
1136
1202
|
gap: var(--dt-space-3);
|
|
1137
1203
|
color: var(--dt-text-primary);
|
|
1138
1204
|
font-size: var(--dt-font-size-sm);
|
|
1205
|
+
font-weight: 500;
|
|
1139
1206
|
}
|
|
1140
1207
|
|
|
1141
1208
|
.bk-progress-track {
|
|
1142
1209
|
overflow: hidden;
|
|
1143
|
-
height: 0.
|
|
1144
|
-
border-radius:
|
|
1210
|
+
height: 0.625rem;
|
|
1211
|
+
border-radius: var(--dt-radius-pill);
|
|
1145
1212
|
background: var(--dt-bg-tertiary);
|
|
1146
|
-
box-shadow: inset 0 0 0
|
|
1213
|
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
|
|
1147
1214
|
}
|
|
1148
1215
|
|
|
1149
1216
|
.bk-progress-bar {
|
|
@@ -1152,28 +1219,30 @@ ${pt}
|
|
|
1152
1219
|
min-width: 0;
|
|
1153
1220
|
border-radius: inherit;
|
|
1154
1221
|
background: var(--dt-accent-emphasis);
|
|
1155
|
-
box-shadow: 0 0
|
|
1222
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
1223
|
+
transition: width var(--dt-transition-slow);
|
|
1156
1224
|
}
|
|
1157
|
-
`;function
|
|
1225
|
+
`;function Jt(t,n){return`<div class="bk-progress">${Kt(t.value).map(t=>{let n=Math.max(1,Number(t.max)||100),r=Math.max(0,Number(t.value)||0),i=Math.round(Math.min(r/n*100,100)),a=c(t.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${e(t.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Yt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var Xt=`
|
|
1158
1226
|
.bk-prompt {
|
|
1159
1227
|
margin: 0;
|
|
1160
1228
|
padding: var(--dt-space-4);
|
|
1161
1229
|
border: 1px solid var(--dt-border-default);
|
|
1162
1230
|
border-radius: var(--dt-radius-lg);
|
|
1163
1231
|
background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
|
|
1232
|
+
box-shadow: var(--dt-shadow-sm);
|
|
1164
1233
|
color: var(--dt-text-primary);
|
|
1165
1234
|
font-family: var(--dt-font-mono);
|
|
1166
1235
|
font-size: var(--dt-font-size-sm);
|
|
1167
1236
|
line-height: 1.6;
|
|
1168
1237
|
white-space: pre-wrap;
|
|
1169
1238
|
}
|
|
1170
|
-
`;function
|
|
1239
|
+
`;function Zt(t,n){return`<pre class="bk-prompt">${e(Yt(t.value))}</pre>`}var Qt=`
|
|
1171
1240
|
.bk-separator {
|
|
1172
1241
|
margin: var(--dt-space-6) 0;
|
|
1173
1242
|
border: 0;
|
|
1174
1243
|
border-top: 1px solid var(--dt-border-default);
|
|
1175
1244
|
}
|
|
1176
|
-
`;function
|
|
1245
|
+
`;function $t(e,t){return`<hr class="bk-separator">`}function en(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var tn=`
|
|
1177
1246
|
.bk-status-board {
|
|
1178
1247
|
display: grid;
|
|
1179
1248
|
gap: var(--dt-space-4);
|
|
@@ -1231,7 +1300,7 @@ ${pt}
|
|
|
1231
1300
|
.bk-status-description {
|
|
1232
1301
|
color: var(--dt-text-secondary);
|
|
1233
1302
|
}
|
|
1234
|
-
`;function
|
|
1303
|
+
`;function nn(t,n){return`<div class="bk-status-board">${en(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 an(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 on(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=an(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}=an(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var sn=`
|
|
1235
1304
|
.bk-table-wrap {
|
|
1236
1305
|
overflow-x: auto;
|
|
1237
1306
|
border: 1px solid var(--dt-border-default);
|
|
@@ -1252,6 +1321,8 @@ ${pt}
|
|
|
1252
1321
|
z-index: 1;
|
|
1253
1322
|
background: var(--dt-bg-tertiary);
|
|
1254
1323
|
color: var(--dt-text-primary);
|
|
1324
|
+
font-weight: 600;
|
|
1325
|
+
white-space: nowrap;
|
|
1255
1326
|
}
|
|
1256
1327
|
|
|
1257
1328
|
.bk-table th,
|
|
@@ -1262,10 +1333,33 @@ ${pt}
|
|
|
1262
1333
|
vertical-align: top;
|
|
1263
1334
|
}
|
|
1264
1335
|
|
|
1336
|
+
.bk-table th {
|
|
1337
|
+
letter-spacing: 0.02em;
|
|
1338
|
+
text-transform: uppercase;
|
|
1339
|
+
font-size: var(--dt-font-size-xs);
|
|
1340
|
+
color: var(--dt-text-secondary);
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
.bk-table tbody tr {
|
|
1344
|
+
transition: background var(--dt-transition-fast);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
.bk-table tbody tr:hover {
|
|
1348
|
+
background: color-mix(in srgb, var(--dt-accent-subtle) 60%, transparent);
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1265
1351
|
.bk-table tbody tr:nth-child(even) {
|
|
1266
|
-
background: color-mix(in srgb, var(--dt-bg-
|
|
1352
|
+
background: color-mix(in srgb, var(--dt-bg-tertiary) 40%, transparent);
|
|
1267
1353
|
}
|
|
1268
|
-
|
|
1354
|
+
|
|
1355
|
+
.bk-table tbody tr:nth-child(even):hover {
|
|
1356
|
+
background: color-mix(in srgb, var(--dt-accent-subtle) 60%, var(--dt-bg-tertiary));
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
.bk-table tbody tr:last-child td {
|
|
1360
|
+
border-bottom: none;
|
|
1361
|
+
}
|
|
1362
|
+
`;function cn(t,n){let{headers:i,keys:a,rows:o}=on(t);return i.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${i.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(t=>`<tr>${a.map(n=>`<td>${e(r(t[n]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function ln(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var un=`
|
|
1269
1363
|
.bk-tags {
|
|
1270
1364
|
display: flex;
|
|
1271
1365
|
flex-wrap: wrap;
|
|
@@ -1275,20 +1369,21 @@ ${pt}
|
|
|
1275
1369
|
.bk-tag {
|
|
1276
1370
|
display: inline-flex;
|
|
1277
1371
|
align-items: center;
|
|
1278
|
-
padding:
|
|
1279
|
-
border-radius:
|
|
1372
|
+
padding: 2px var(--dt-space-3);
|
|
1373
|
+
border-radius: var(--dt-radius-pill);
|
|
1280
1374
|
background: var(--dt-accent-subtle);
|
|
1281
1375
|
color: var(--dt-accent-fg);
|
|
1282
1376
|
font-size: var(--dt-font-size-xs);
|
|
1283
|
-
font-weight:
|
|
1377
|
+
font-weight: 600;
|
|
1378
|
+
letter-spacing: 0.02em;
|
|
1284
1379
|
}
|
|
1285
|
-
`;function
|
|
1380
|
+
`;function dn(t,n){return`<div class="bk-tags">${ln(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 fn=`
|
|
1286
1381
|
.bk-text {
|
|
1287
1382
|
color: var(--dt-text-primary);
|
|
1288
1383
|
font-size: var(--dt-font-size-base);
|
|
1289
1384
|
line-height: 1.7;
|
|
1290
1385
|
}
|
|
1291
|
-
`;function
|
|
1386
|
+
`;function pn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var mn=`
|
|
1292
1387
|
.bk-timeline {
|
|
1293
1388
|
display: grid;
|
|
1294
1389
|
gap: var(--dt-space-4);
|
|
@@ -1297,7 +1392,7 @@ ${pt}
|
|
|
1297
1392
|
.bk-timeline-item {
|
|
1298
1393
|
position: relative;
|
|
1299
1394
|
display: grid;
|
|
1300
|
-
gap: var(--dt-space-
|
|
1395
|
+
gap: var(--dt-space-1);
|
|
1301
1396
|
padding-left: calc(var(--dt-space-6) + var(--dt-space-2));
|
|
1302
1397
|
}
|
|
1303
1398
|
|
|
@@ -1306,31 +1401,39 @@ ${pt}
|
|
|
1306
1401
|
position: absolute;
|
|
1307
1402
|
inset: 0 auto 0 var(--dt-space-3);
|
|
1308
1403
|
width: 1px;
|
|
1309
|
-
background: var(--dt-border-
|
|
1404
|
+
background: var(--dt-border-muted);
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1407
|
+
.bk-timeline-item:last-child::before {
|
|
1408
|
+
display: none;
|
|
1310
1409
|
}
|
|
1311
1410
|
|
|
1312
1411
|
.bk-timeline-dot {
|
|
1313
1412
|
position: absolute;
|
|
1314
1413
|
top: var(--dt-space-1);
|
|
1315
1414
|
left: 0;
|
|
1316
|
-
width:
|
|
1317
|
-
height:
|
|
1318
|
-
border:
|
|
1415
|
+
width: 0.625rem;
|
|
1416
|
+
height: 0.625rem;
|
|
1417
|
+
border: 2px solid var(--dt-bg-primary);
|
|
1319
1418
|
border-radius: 999px;
|
|
1320
1419
|
background: var(--dt-accent-emphasis);
|
|
1321
|
-
box-shadow: 0 0 0
|
|
1420
|
+
box-shadow: 0 0 0 3px var(--dt-glow-accent);
|
|
1421
|
+
z-index: 1;
|
|
1322
1422
|
}
|
|
1323
1423
|
|
|
1324
1424
|
.bk-timeline-title {
|
|
1325
1425
|
color: var(--dt-text-primary);
|
|
1326
1426
|
font-weight: 600;
|
|
1427
|
+
font-size: var(--dt-font-size-sm);
|
|
1327
1428
|
}
|
|
1328
1429
|
|
|
1329
1430
|
.bk-timeline-description,
|
|
1330
1431
|
.bk-timeline-timestamp {
|
|
1331
1432
|
color: var(--dt-text-secondary);
|
|
1433
|
+
font-size: var(--dt-font-size-xs);
|
|
1434
|
+
line-height: 1.5;
|
|
1332
1435
|
}
|
|
1333
|
-
`;function
|
|
1436
|
+
`;function hn(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 k(t,n){if(Array.isArray(t)){let r=t.map(e=>k(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 k(r.children??[],i);let a=Object.entries(r).map(([e,t])=>k(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 gn=`
|
|
1334
1437
|
.bk-tree {
|
|
1335
1438
|
display: grid;
|
|
1336
1439
|
gap: var(--dt-space-2);
|
|
@@ -1362,19 +1465,22 @@ ${pt}
|
|
|
1362
1465
|
.bk-tree-key {
|
|
1363
1466
|
color: var(--dt-text-primary);
|
|
1364
1467
|
}
|
|
1365
|
-
`;function
|
|
1468
|
+
`;function _n(e,t){return`<div class="bk-tree">${k(i(e.value))}</div>`}var A={actions:d,cards:p,chart:te,checklist:De,code:ke,diff:Je,comparison:Me,"component-detail":Be,"data-table-schema":Ke,"docs-browser":$e,"docs-hub":it,finding:st,graph:ut,heading:ft,kv:ht,"lifecycle-flow":At,list:Mt,markdown:Pt,mermaid:zt,metrics:Ht,paragraph:Wt,progress:qt,prompt:Xt,separator:Qt,"status-board":tn,table:sn,tags:un,text:fn,timeline:mn,tree:gn},vn=`
|
|
1366
1469
|
.bk-section {
|
|
1367
1470
|
display: grid;
|
|
1368
1471
|
gap: var(--dt-space-3);
|
|
1369
1472
|
margin: 0 0 var(--dt-space-6);
|
|
1473
|
+
padding: 0;
|
|
1370
1474
|
}
|
|
1371
1475
|
|
|
1372
1476
|
.bk-section-title {
|
|
1373
|
-
margin: 0;
|
|
1477
|
+
margin: 0 0 var(--dt-space-2);
|
|
1374
1478
|
color: var(--dt-text-primary);
|
|
1375
1479
|
font-family: var(--dt-font-sans);
|
|
1376
|
-
font-size: var(--dt-font-size-
|
|
1377
|
-
font-weight:
|
|
1480
|
+
font-size: var(--dt-font-size-xl);
|
|
1481
|
+
font-weight: 600;
|
|
1482
|
+
letter-spacing: -0.01em;
|
|
1483
|
+
line-height: 1.3;
|
|
1378
1484
|
}
|
|
1379
1485
|
|
|
1380
1486
|
.bk-text,
|
|
@@ -1416,6 +1522,17 @@ ${pt}
|
|
|
1416
1522
|
.bk-finding a {
|
|
1417
1523
|
color: var(--dt-accent-fg);
|
|
1418
1524
|
text-decoration: none;
|
|
1525
|
+
transition: color var(--dt-transition-fast);
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
.bk-text a:hover,
|
|
1529
|
+
.bk-kv a:hover,
|
|
1530
|
+
.bk-list a:hover,
|
|
1531
|
+
.bk-markdown a:hover,
|
|
1532
|
+
.bk-finding a:hover {
|
|
1533
|
+
color: var(--dt-accent-emphasis);
|
|
1534
|
+
text-decoration: underline;
|
|
1535
|
+
text-underline-offset: 2px;
|
|
1419
1536
|
}
|
|
1420
1537
|
|
|
1421
1538
|
.bk-text code,
|
|
@@ -1423,12 +1540,13 @@ ${pt}
|
|
|
1423
1540
|
.bk-list code,
|
|
1424
1541
|
.bk-markdown code,
|
|
1425
1542
|
.bk-finding code {
|
|
1426
|
-
padding:
|
|
1427
|
-
border-radius: var(--dt-radius-
|
|
1543
|
+
padding: 1px var(--dt-space-1);
|
|
1544
|
+
border-radius: var(--dt-radius-xs);
|
|
1428
1545
|
background: var(--dt-bg-tertiary);
|
|
1429
|
-
color: var(--dt-
|
|
1546
|
+
color: var(--dt-accent-fg);
|
|
1430
1547
|
font-family: var(--dt-font-mono);
|
|
1431
|
-
font-size: 0.
|
|
1548
|
+
font-size: 0.9em;
|
|
1549
|
+
border: 1px solid var(--dt-border-default);
|
|
1432
1550
|
}
|
|
1433
1551
|
|
|
1434
1552
|
.bk-fallback {
|
|
@@ -1454,13 +1572,29 @@ ${pt}
|
|
|
1454
1572
|
white-space: nowrap;
|
|
1455
1573
|
border: 0;
|
|
1456
1574
|
}
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1575
|
+
|
|
1576
|
+
hr {
|
|
1577
|
+
border: none;
|
|
1578
|
+
height: 1px;
|
|
1579
|
+
background: var(--dt-border-default);
|
|
1580
|
+
margin: var(--dt-space-6) 0;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
blockquote {
|
|
1584
|
+
margin: var(--dt-space-3) 0;
|
|
1585
|
+
padding: var(--dt-space-3) var(--dt-space-4);
|
|
1586
|
+
border-left: 3px solid var(--dt-accent-fg);
|
|
1587
|
+
background: var(--dt-accent-subtle);
|
|
1588
|
+
border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0;
|
|
1589
|
+
color: var(--dt-text-secondary);
|
|
1590
|
+
}
|
|
1591
|
+
`;function yn(e){let t=[vn],n=new Set;for(let r of e)!n.has(r)&&A[r]&&(n.add(r),t.push(A[r]));return t.join(`
|
|
1592
|
+
`)}function bn(){return yn(Object.keys(A))}var j={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`},xn=`<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>`,Sn=`<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>`,Cn=`<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>`,wn=`<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>`,Tn=`<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>`,En=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:Sn,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:Cn,onclick:`downloadPng()`}];function Dn(t){return[` <button type="button" class="${j.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(`
|
|
1593
|
+
`)}function On(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${j.toolbox}">`,` <button type="button" class="${j.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${xn}`,` </button>`,` <div id="aikit-toolbox-menu" class="${j.toolboxMenu}" role="menu" hidden>`,...r.map(e=>Dn(e)),` </div>`,` </div>`].join(`
|
|
1594
|
+
`)}function kn(e){return e?.trim()?e.trim():``}function An(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 jn(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?En:[]),a=[kn(t.actionsHtml),On(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${j.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${j.themeToggleIcon} ${j.themeToggleIconSun}" aria-hidden="true">${wn}</span>`,` <span class="${j.themeToggleIcon} ${j.themeToggleIconMoon}" aria-hidden="true">${Tn}</span>`,` </button>`].join(`
|
|
1461
1595
|
`)].filter(Boolean).join(`
|
|
1462
|
-
`);return[` <header class="${
|
|
1463
|
-
`)}function Mn(t={}){let n=An(t.generatedAt),r=n?[`Generated by `,`<span class="${
|
|
1596
|
+
`);return[` <header class="${j.header}">`,` <div class="${j.brand}">${e(n)}</div>`,` <div class="${j.title}">`,` <span class="${j.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${j.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${j.actions}">`,a,` </div>`,` </header>`].join(`
|
|
1597
|
+
`)}function Mn(t={}){let n=An(t.generatedAt),r=t.showInstallGuide??!0,i=t.installUrl??`https://hermes-agent.nousresearch.com`,a=n?[`Generated by `,`<span class="${j.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${j.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${j.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${j.footerBrand}">AI KIT</span>`,o=kn(t.contentHtml),s=r?`<span class="${j.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="${j.footer}">`,` <div class="${j.footerMeta}">`,` <span class="${j.footerText}">${a}</span>`,...o?[` <span class="${j.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
|
|
1464
1598
|
`)}function Nn(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 Pn(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}">
|
|
1465
1599
|
<p class="bk-annotation-body">${e(t.body)}</p>
|
|
1466
1600
|
${i.length>0?`<div class="bk-annotation-meta">${i.join(``)}</div>`:``}
|
|
@@ -1478,9 +1612,9 @@ ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span
|
|
|
1478
1612
|
${o}
|
|
1479
1613
|
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
1480
1614
|
${c}
|
|
1481
|
-
</div>`}var zn={actions:f,annotation:In,approval:Rn,cards:m,chart:ne,checklist:
|
|
1482
|
-
`)}function Hn(t){if(t.value===void 0||t.value===null)return``;if(typeof t.value==`string`)return`<p class="bk-paragraph">${e(t.value)}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(t.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(t.value))}</pre>`}}var Un=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()]}},Wn=[`mcp-app`,`browser`];function
|
|
1483
|
-
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var ar={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=>nr(e).flatMap(ir),hydration:[],supportedTransports:$n},or=[`mcp-app`,`browser`,`export`];function P(e){return typeof e==`object`&&!!e}function sr(e){return P(e)&&typeof e.type==`string`}function cr(e){return Array.isArray(e)&&e.every(sr)}function lr(e){if(!P(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!P(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||cr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function ur(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 dr={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=lr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...ur(e));return n},hydration:[],supportedTransports:or},fr=[`mcp-app`,`browser`,`export`];function pr(e){return typeof e==`object`&&!!e}function mr(e){return pr(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 hr={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=mr(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:fr};function F(e){return typeof e==`object`&&!!e}function gr(e){return Array.isArray(e)?e.flatMap(e=>!F(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`||F(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:F(e)&&typeof e.title==`string`?e.title:`Form`,fields:F(e)?gr(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`]},vr=[`mcp-app`,`browser`];function I(e){return typeof e==`object`&&!!e}function yr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!I(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function br(e){return Array.isArray(e)?e.flatMap(e=>!I(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 xr(e){return I(e)?{categories:yr(e.categories),items:br(e.items)}:{items:[]}}function Sr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Cr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Sr)}]}var wr={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=xr(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=Cr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Cr(`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(Sr)}),n},hydration:[`picker`],supportedTransports:vr},Tr=[`mcp-app`,`browser`,`export`];function L(e){return typeof e==`object`&&!!e}function Er(e){return L(e)&&typeof e.type==`string`}function Dr(e){return Array.isArray(e)&&e.every(Er)}function Or(e){return L(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function kr(e){return Array.isArray(e)?e.flatMap(e=>{if(!L(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Dr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Ar(e){return Array.isArray(e)?e.flatMap(e=>L(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 jr(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 Mr(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}var Nr={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:L(e)&&typeof e.title==`string`?e.title:`Report`,metrics:L(e)&&Array.isArray(e.metrics)?e.metrics.filter(Or):void 0,sections:L(e)?kr(e.sections):[],tables:L(e)?Ar(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(...jr(e));for(let e of t.tables??[])n.push(Mr(e));return n},hydration:[],supportedTransports:Tr},Pr=[`mcp-app`,`browser`];function R(e){return typeof e==`object`&&!!e}function Fr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Ir(e){return Array.isArray(e)?e.flatMap(e=>{if(!R(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=R(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 Lr(e){return Array.isArray(e)?e.flatMap(e=>{if(!R(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 Rr={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(!R(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Fr(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Ir(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(R(a)){let e=Lr(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:Pr},zr=[`mcp-app`,`browser`,`export`];function z(e){return typeof e==`object`&&!!e}function Br(e){return Array.isArray(e)?e.flatMap(e=>{if(!z(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!z(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 Vr(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var Hr={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=z(e)?Br(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Vr(e.items)});return n},hydration:[],supportedTransports:zr},Ur=[`mcp-app`,`browser`,`export`];function Wr(e){return typeof e==`object`&&!!e}function Gr(e){return Array.isArray(e)?e.flatMap(e=>!Wr(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 Kr(e){return Array.isArray(e)?{entries:Gr(e)}:Wr(e)?{entries:Gr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var B={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},qr={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[B,{type:`object`,properties:{title:{type:`string`},entries:B,events:B,items:B},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Kr(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Ur},Jr=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function Yr(e){return V(e)&&typeof e.label==`string`}function Xr(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Yr).map(Xr):[]}}function Zr(e){if(!V(e))return{};let t=e.root;return Yr(t)?Xr(t):V(t)?t:e}var Qr={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:Zr(e)}],hydration:[`tree`],supportedTransports:Jr},H=new Un;H.register(Rr),H.register(Kn),H.register(ar),H.register(dr),H.register(wr),H.register(Nr),H.register(qr),H.register(Qr),H.register(Qn),H.register(hr),H.register(_r),H.register(Hr);var $r=3e3,ei=2e3;function U(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},$r));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},ei)}function ti(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),U(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)),U(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),U(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),U(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var ni=`
|
|
1615
|
+
</div>`}var zn={actions:f,annotation:In,approval:Rn,cards:m,chart:ne,checklist:Oe,code:Ae,comparison:Ne,diff:Ze,"component-detail":Ve,"data-table-schema":qe,"docs-browser":et,"docs-hub":at,finding:ct,graph:dt,heading:pt,kv:gt,"lifecycle-flow":jt,list:Nt,markdown:Rt,mermaid:Bt,metrics:Ut,paragraph:Gt,progress:Jt,prompt:Zt,separator:$t,"status-board":nn,table:cn,tags:dn,text:pn,timeline:hn,tree:_n};function Bn(t,r,a){let o={...t,value:i(t.value)},s=zn[o.type],c=s?s(o,r):Hn(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 Vn(e,t){return e.map((e,n)=>Bn(e,t,n)).join(`
|
|
1616
|
+
`)}function Hn(t){if(t.value===void 0||t.value===null)return``;if(typeof t.value==`string`)return`<p class="bk-paragraph">${e(t.value)}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(t.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(t.value))}</pre>`}}var Un=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()]}},Wn=[`mcp-app`,`browser`];function M(e){return typeof e==`object`&&!!e}function Gn(e){return Array.isArray(e)?e.flatMap(e=>!M(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var Kn={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=M(e)&&typeof e.title==`string`?e.title:void 0,r=M(e)?Gn(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Wn},qn=[`mcp-app`,`browser`,`export`];function N(e){return typeof e==`object`&&!!e}function Jn(e){return N(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Yn(e){return N(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Xn(e){return Array.isArray(e)?e.filter(N):[]}function Zn(e,t){if(Array.isArray(e)){let t=e.filter(Yn);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Qn={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=N(e)?Xn(e.rows):[],n=N(e)?Zn(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(N(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Jn);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:qn},$n=[`mcp-app`,`browser`,`export`];function P(e){return typeof e==`object`&&!!e}function er(e){return Array.isArray(e)?e.flatMap(e=>!P(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function tr(e){return Array.isArray(e)?e.flatMap(e=>!P(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:er(e.changes)}]):[]}function nr(e){return!P(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!P(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:tr(e.hunks)}])}function rr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function ir(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${rr(e.type)}${e.content}`)]).join(`
|
|
1617
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var ar={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=>nr(e).flatMap(ir),hydration:[],supportedTransports:$n},or=[`mcp-app`,`browser`,`export`];function F(e){return typeof e==`object`&&!!e}function sr(e){return F(e)&&typeof e.type==`string`}function cr(e){return Array.isArray(e)&&e.every(sr)}function lr(e){if(!F(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!F(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||cr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function ur(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 dr={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=lr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...ur(e));return n},hydration:[],supportedTransports:or},fr=[`mcp-app`,`browser`,`export`];function pr(e){return typeof e==`object`&&!!e}function mr(e){return pr(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 hr={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=mr(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:fr};function I(e){return typeof e==`object`&&!!e}function gr(e){return Array.isArray(e)?e.flatMap(e=>!I(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`||I(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:I(e)&&typeof e.title==`string`?e.title:`Form`,fields:I(e)?gr(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`]},vr=[`mcp-app`,`browser`];function L(e){return typeof e==`object`&&!!e}function yr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!L(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function br(e){return Array.isArray(e)?e.flatMap(e=>!L(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 xr(e){return L(e)?{categories:yr(e.categories),items:br(e.items)}:{items:[]}}function Sr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Cr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Sr)}]}var wr={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=xr(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=Cr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Cr(`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(Sr)}),n},hydration:[`picker`],supportedTransports:vr},Tr=[`mcp-app`,`browser`,`export`];function R(e){return typeof e==`object`&&!!e}function Er(e){return R(e)&&typeof e.type==`string`}function Dr(e){return Array.isArray(e)&&e.every(Er)}function Or(e){return R(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function kr(e){return Array.isArray(e)?e.flatMap(e=>{if(!R(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Dr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Ar(e){return Array.isArray(e)?e.flatMap(e=>R(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 jr(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 Mr(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}var Nr={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:R(e)&&typeof e.title==`string`?e.title:`Report`,metrics:R(e)&&Array.isArray(e.metrics)?e.metrics.filter(Or):void 0,sections:R(e)?kr(e.sections):[],tables:R(e)?Ar(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(...jr(e));for(let e of t.tables??[])n.push(Mr(e));return n},hydration:[],supportedTransports:Tr},Pr=[`mcp-app`,`browser`];function z(e){return typeof e==`object`&&!!e}function Fr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Ir(e){return Array.isArray(e)?e.flatMap(e=>{if(!z(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=z(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 Lr(e){return Array.isArray(e)?e.flatMap(e=>{if(!z(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 Rr={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(!z(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Fr(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Ir(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(z(a)){let e=Lr(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:Pr},zr=[`mcp-app`,`browser`,`export`];function B(e){return typeof e==`object`&&!!e}function Br(e){return Array.isArray(e)?e.flatMap(e=>{if(!B(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!B(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 Vr(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var Hr={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=B(e)?Br(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Vr(e.items)});return n},hydration:[],supportedTransports:zr},Ur=[`mcp-app`,`browser`,`export`];function Wr(e){return typeof e==`object`&&!!e}function Gr(e){return Array.isArray(e)?e.flatMap(e=>!Wr(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 Kr(e){return Array.isArray(e)?{entries:Gr(e)}:Wr(e)?{entries:Gr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var V={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},qr={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[V,{type:`object`,properties:{title:{type:`string`},entries:V,events:V,items:V},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Kr(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Ur},Jr=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Yr(e){return H(e)&&typeof e.label==`string`}function Xr(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Yr).map(Xr):[]}}function Zr(e){if(!H(e))return{};let t=e.root;return Yr(t)?Xr(t):H(t)?t:e}var Qr={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:Zr(e)}],hydration:[`tree`],supportedTransports:Jr},U=new Un;U.register(Rr),U.register(Kn),U.register(ar),U.register(dr),U.register(wr),U.register(Nr),U.register(qr),U.register(Qr),U.register(Qn),U.register(hr),U.register(_r),U.register(Hr);var $r=3e3,ei=2e3;function W(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},$r));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},ei)}function ti(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),W(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)),W(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),W(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),W(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var ni=`
|
|
1484
1618
|
.bk-checklist-progress {
|
|
1485
1619
|
margin-bottom: var(--dt-space-3);
|
|
1486
1620
|
color: var(--dt-text-secondary);
|
|
@@ -1494,8 +1628,8 @@ ${c}
|
|
|
1494
1628
|
margin: 0;
|
|
1495
1629
|
accent-color: var(--dt-accent-fg);
|
|
1496
1630
|
}
|
|
1497
|
-
`;function ri(e){let t=e.createElement(`style`);return t.textContent=ni,t}function ii(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 ai(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=ri(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=ii(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 ii(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 W=`data-sort-label`,G=`data-sort-dir`,oi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function K(e){let t=e.getAttribute(W);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(W,n),n}function si(e,t,n){for(let[r,i]of e.entries())i.textContent=K(i),r===t?(i.setAttribute(G,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(G)}function ci(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function li(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=oi.compare(ci(e,t),ci(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)}si(t,a,o)};for(let[e,n]of t.entries()){K(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=K(e),e.removeAttribute(G),e.removeAttribute(W),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function ui(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function di(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return ui(n);n=n.parentElement}return null}function fi(e){return Array.from(e.querySelectorAll(`summary`))}function q(e){return e.open||e.hasAttribute(`open`)}function J(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function pi(e,t){e.textContent=t.every(e=>q(e))?`Collapse all`:`Expand all`}function mi(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=>!q(e));for(let n of t)J(n,e);pi(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{pi(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=fi(e).map(t=>{t.tabIndex=0;let n=n=>{let r=fi(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&&!q(a))J(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&q(a)?J(a,!1):di(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return pi(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var Y=`data-hydrated`;function X(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Z(e,t,n){e.push(()=>{n(),t.removeAttribute(Y)})}function hi(e={}){let t=e.container??document.body,n=[];for(let e of X(t,`.bk-table`))e.hasAttribute(Y)||(e.setAttribute(Y,``),Z(n,e,li(e)));for(let e of X(t,`.bk-tree`))e.hasAttribute(Y)||(e.setAttribute(Y,``),Z(n,e,mi(e)));for(let r of X(t,`.bk-checklist`))r.hasAttribute(Y)||(r.setAttribute(Y,``),Z(n,r,ai(r,e)));for(let r of X(t,`.bk-actions`))if(!r.hasAttribute(Y)){if(r.setAttribute(Y,``),e.onAction){Z(n,r,ti(r,e.onAction));continue}n.push(()=>{r.removeAttribute(Y)})}return()=>{for(let e of n)e();n.length=0}}var gi=`aikit-report-theme`,_i=e,vi=t,yi=`aikit-report-block-styles`,bi=`<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>`,xi=`<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 Si(e){if(e.getElementById(yi))return;let t=e.createElement(`style`);t.id=yi,t.textContent=xn(),e.head.appendChild(t)}function Ci(e){return e.flatMap(e=>wi(e))}function wi(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)?Ci(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}]:[],...Ci(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 Ti(e,t,n,r){Si(r),e.innerHTML=Vn(Ci(t),{mode:`standalone`,theme:n}),hi({container:e})}function Ei(e){return e??(typeof window<`u`?window.localStorage:void 0)}function Di(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function Q(e){return e===`light`||e===`dark`?e:null}function Oi(e=document,t,n){let r=Q(Ei(t)?.getItem(`aikit-report-theme`))??(Di(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function ki(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(gi,t),t}function Ai(e,t){return ki(e,(Q(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function ji(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 Mi(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?bi:xi}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 Ni(e,t){return jn({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 Pi(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&&Pi(i,a,n)}}async function Fi(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()}),Pi(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 Ii(e,t,n={}){let r=n.document??e.ownerDocument??document,i=Ei(n.storage),a=Q(r.documentElement.getAttribute(`data-theme`))??Oi(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ni(t,s),u=Mn({generatedAt:ji(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="${vi(e.href)}">${_i(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||!_)&&(Mi(g,a),Ti(_,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 Fi(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`,()=>Mi(g,Ai(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 Li=document.getElementById(`report-root`);if(Li){Oi();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Ii(Li,e))}</script>
|
|
1498
|
-
<style rel="stylesheet" crossorigin>:root{--dt-bg-primary:#0c0c0c;--dt-bg-secondary:#161616;--dt-bg-tertiary:#232323;--dt-bg-canvas:#0c0c0c;--dt-text-primary:#fff;--dt-text-secondary:#a0a4ab;--dt-text-tertiary:#6b7280;--dt-border-default:#24282d;--dt-border-muted:#2a2f35;--dt-border-subtle:#1a1d20;--dt-accent-fg:#5db8a6;--dt-accent-emphasis:#5db8a6;--dt-accent-muted:#5db8a666;--dt-accent-subtle:#5db8a626;--dt-success-fg:#10b981;--dt-success-emphasis:#10b981;--dt-success-muted:#10b98166;--dt-success-subtle:#10b98126;--dt-danger-fg:#ef4444;--dt-danger-emphasis:#ef4444;--dt-danger-muted:#ef444466;--dt-danger-subtle:#ef444426;--dt-warning-fg:#f59e0b;--dt-warning-emphasis:#f59e0b;--dt-warning-muted:#f59e0b66;--dt-warning-subtle:#f59e0b26;--dt-info-fg:#60a5fa;--dt-info-emphasis:#3b82f6;--dt-info-muted:#60a5fa66;--dt-info-subtle:#60a5fa26;--dt-purple-fg:#bc8cff;--dt-purple-emphasis:#a371f7;--dt-purple-muted:#bc8cff66;--dt-purple-subtle:#bc8cff26;--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-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-12:3rem;--dt-space-16:4rem;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-shadow-sm:0 1px 2px #00000059;--dt-shadow-md:0 3px 6px #0006;--dt-shadow-lg:0 8px 24px #00000073;--dt-glow-accent:#5db8a624;--dt-glow-success:#10b98124;--dt-glow-danger:#ef444424;--dt-glow-warning:#f59e0b24;--dt-glow-purple:#bc8cff24;--dt-transition-fast:.15s ease;--dt-transition-normal:.2s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-primary:#f8f9fa;--dt-bg-secondary:#f1f3f5;--dt-bg-tertiary:#fff;--dt-bg-canvas:#f8f9fa;--dt-text-primary:#111;--dt-text-secondary:#4b5563;--dt-text-tertiary:#9ca3af;--dt-border-default:#e5e7eb;--dt-border-muted:#d7dce2;--dt-border-subtle:#eef2f5;--dt-accent-fg:#147d74;--dt-accent-emphasis:#147d74;--dt-accent-muted:#147d744d;--dt-accent-subtle:#147d741a;--dt-success-fg:#10b981;--dt-success-emphasis:#059669;--dt-success-muted:#10b9814d;--dt-success-subtle:#10b9811a;--dt-danger-fg:#ef4444;--dt-danger-emphasis:#dc2626;--dt-danger-muted:#ef44444d;--dt-danger-subtle:#ef44441a;--dt-warning-fg:#f59e0b;--dt-warning-emphasis:#d97706;--dt-warning-muted:#f59e0b4d;--dt-warning-subtle:#f59e0b1a;--dt-info-fg:#3b82f6;--dt-info-emphasis:#2563eb;--dt-info-muted:#3b82f64d;--dt-info-subtle:#3b82f61a;--dt-purple-fg:#8250df;--dt-purple-emphasis:#6639ba;--dt-purple-muted:#8250df4d;--dt-purple-subtle:#8250df1a;--dt-shadow-sm:0 1px 2px #00000012;--dt-shadow-md:0 3px 6px #0000001a;--dt-shadow-lg:0 8px 24px #0000001f;--dt-glow-accent:#147d7414;--dt-glow-success:#10b98114;--dt-glow-danger:#ef444414;--dt-glow-warning:#f59e0b14;--dt-glow-purple:#8250df14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.aikit-header,.aikit-toolbox-menu,.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{z-index:100;justify-content:space-between;align-items:center;gap:var(--dt-space-4);min-height:3.5rem;padding:var(--dt-space-2) var(--dt-space-4);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);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-sm);letter-spacing:.12em;text-transform:uppercase;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(--dt-space-2);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);background:var(--aikit-card);width:2.5rem;height:2.5rem;color:var(--aikit-card-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast), transform var(--dt-transition-fast);border-radius:999px;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)}.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);box-shadow:var(--dt-shadow-lg);z-index:120;display:grid;position:absolute;right:0}.aikit-toolbox-menu[hidden]{display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.5rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;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{flex:none}.aikit-footer{justify-content:space-between;align-items:center;gap:var(--dt-space-3);padding:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);flex-wrap:wrap;margin-top:auto;display:flex}.aikit-footer-meta{align-items:center;gap:var(--dt-space-3);flex-wrap:wrap;flex:14rem;min-width:0;display:flex}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:var(--dt-space-2);display:inline-flex}.aikit-footer-badge{min-height:1.75rem;padding:0 var(--dt-space-2);border:1px solid var(--aikit-border);background:var(--aikit-muted);color:var(--aikit-accent-foreground);font-family:var(--dt-font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.aikit-footer-legend-item{align-items:center;gap:6px;display:inline-flex}.aikit-footer-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--dt-space-2);padding-left:var(--dt-space-3);padding-right:var(--dt-space-3)}.aikit-header-subtitle{display:none}.aikit-toolbox-menu{min-width:auto;max-width:calc(100vw - 2rem);left:auto;right:0}}@media (width<=400px){.aikit-header-actions{gap:var(--dt-space-1)}.aikit-footer{align-items:flex-start}.aikit-footer-meta{flex-basis:100%}.aikit-toolbox-menu{border-radius:.5rem .5rem 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 12px #00000026}}*{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}}
|
|
1631
|
+
`;function ri(e){let t=e.createElement(`style`);return t.textContent=ni,t}function ii(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 ai(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=ri(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=ii(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 ii(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 G=`data-sort-label`,K=`data-sort-dir`,oi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function q(e){let t=e.getAttribute(G);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(G,n),n}function si(e,t,n){for(let[r,i]of e.entries())i.textContent=q(i),r===t?(i.setAttribute(K,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(K)}function ci(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function li(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=oi.compare(ci(e,t),ci(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)}si(t,a,o)};for(let[e,n]of t.entries()){q(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=q(e),e.removeAttribute(K),e.removeAttribute(G),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function ui(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function di(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return ui(n);n=n.parentElement}return null}function fi(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 pi(e,t){e.textContent=t.every(e=>J(e))?`Collapse all`:`Expand all`}function mi(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);pi(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{pi(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=fi(e).map(t=>{t.tabIndex=0;let n=n=>{let r=fi(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):di(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return pi(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 hi(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,li(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,mi(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,ai(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,ti(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var gi=`aikit-report-theme`,_i=e,vi=t,yi=`aikit-report-block-styles`,bi=`<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>`,xi=`<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 Si(e){if(e.getElementById(yi))return;let t=e.createElement(`style`);t.id=yi,t.textContent=bn(),e.head.appendChild(t)}function Ci(e){return e.flatMap(e=>wi(e))}function wi(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)?Ci(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}]:[],...Ci(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 Ti(e,t,n,r){Si(r),e.innerHTML=Vn(Ci(t),{mode:`standalone`,theme:n}),hi({container:e})}function Ei(e){return e??(typeof window<`u`?window.localStorage:void 0)}function Di(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function Oi(e){return e===`light`||e===`dark`?e:null}function ki(e=document,t,n){let r=Oi(Ei(t)?.getItem(`aikit-report-theme`))??(Di(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function Ai(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(gi,t),t}function ji(e,t){return Ai(e,(Oi(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function Mi(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 Ni(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?bi:xi}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 Pi(e,t){return jn({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 Fi(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&&Fi(i,a,n)}}async function Ii(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()}),Fi(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 Li(e,t,n={}){let r=n.document??e.ownerDocument??document,i=Ei(n.storage),a=Oi(r.documentElement.getAttribute(`data-theme`))??ki(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Pi(t,s),u=Mn({generatedAt:Mi(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="${vi(e.href)}">${_i(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||!_)&&(Ni(g,a),Ti(_,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 Ii(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`,()=>Ni(g,ji(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 Ri=document.getElementById(`report-root`);if(Ri){ki();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Li(Ri,e))}</script>
|
|
1632
|
+
<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{z-index:100;justify-content:space-between;align-items:center;gap:var(--dt-space-4);min-height:3.5rem;padding:var(--dt-space-2) var(--dt-space-6);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(--dt-space-2);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.25rem;height:2.25rem;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)}[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}[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{padding:var(--dt-space-6) var(--dt-space-6) var(--dt-space-8);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}.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;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}.aikit-footer-slot a{color:inherit;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--aikit-border);text-decoration-color:var(--aikit-border)}.aikit-footer-slot a:hover{color:var(--aikit-foreground);-webkit-text-decoration-color:var(--aikit-foreground);text-decoration-color:var(--aikit-foreground)}.aikit-footer-legend{align-items:center;gap:var(--dt-space-2);flex-wrap:wrap;display:inline-flex}.aikit-footer-legend-item{font-size:var(--dt-font-size-xs);align-items:center;gap:.3rem;display:inline-flex}.aikit-footer-legend-swatch{border-radius:var(--dt-radius-sm);flex-shrink:0;width:8px;height:8px;display:inline-block}.aikit-footer-badge{padding:2px var(--dt-space-2);border-radius:var(--dt-radius-pill);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-xs);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);align-items:center;font-weight:600;display:inline-flex}.aikit-glass{border:1px solid var(--dt-glass-border);border-radius:var(--dt-radius-xl);background:var(--dt-glass-bg);-webkit-backdrop-filter:blur(var(--dt-glass-blur,16px));box-shadow:var(--dt-glass-shadow);transition:border-color var(--dt-transition-normal), box-shadow var(--dt-transition-normal)}.aikit-glass:hover{border-color:var(--dt-glass-hover-border);box-shadow:var(--dt-shadow-lg)}.aikit-glass-solid{border:1px solid var(--dt-border-default);border-radius:var(--dt-radius-xl);background:var(--dt-bg-secondary)}.aikit-glass-btn{min-height:2.25rem;padding:0 var(--dt-space-4);border:1px solid var(--dt-glass-border);border-radius:var(--dt-radius-md);background:var(--dt-glass-bg);-webkit-backdrop-filter:blur(12px);color:var(--dt-text-primary);font:inherit;font-size:var(--dt-font-size-base);cursor:pointer;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast);align-items:center;display:inline-flex}.aikit-glass-btn:hover{background:var(--dt-bg-secondary);border-color:var(--dt-accent-muted)}.aikit-glass-primary{background:var(--dt-accent-emphasis);border-color:var(--dt-accent-emphasis);color:#fff}.aikit-badge{padding:2px var(--dt-space-2);border-radius:var(--dt-radius-pill);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-xs);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid;align-items:center;font-weight:600;display:inline-flex}.aikit-chip{border-radius:var(--dt-radius-pill);border:1px solid var(--dt-glass-border);background:var(--dt-glass-bg);-webkit-backdrop-filter:blur(8px);color:var(--dt-text-tertiary);font-family:var(--dt-font-mono);white-space:nowrap;align-items:center;gap:.25rem;padding:.14rem .42rem;font-size:.62rem;display:inline-flex}.aikit-glow-primary,.aikit-glow-secondary{content:"";pointer-events:none;z-index:0;position:fixed}.aikit-glow-primary{background:var(--dt-glow-primary);width:90vw;height:90vh;animation:8s ease-in-out infinite alternate aikit-glow-pulse;top:-30vh;right:-20vw}.aikit-glow-secondary{background:var(--dt-glow-secondary);width:60vw;height:60vh;animation:12s ease-in-out infinite alternate-reverse aikit-glow-pulse;bottom:-20vh;left:-10vw}@keyframes aikit-glow-pulse{0%{opacity:.7;transform:scale(1)translate(0)}to{opacity:1;transform:scale(1.05)translate(2%,2%)}}.layout-full{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.layout-sidebar-left,.layout-sidebar-right{z-index:1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.layout-sidebar-left{grid-template-columns:280px 1fr;grid-template-areas:"header header""sidebar main""footer footer"}.layout-sidebar-right{grid-template-columns:1fr 280px;grid-template-areas:"header header""main sidebar""footer footer"}@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(--dt-space-2);padding-left:var(--dt-space-4);padding-right:var(--dt-space-4);min-height:3rem}.aikit-header-subtitle{display:none}.aikit-header-title-text{font-size:var(--dt-font-size-sm)}.aikit-toolbox-menu{min-width:auto;max-width:calc(100vw - 2rem);left:auto;right:0}.aikit-footer{padding:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);gap:var(--dt-space-2);flex-direction:column}.aikit-footer-meta{gap:var(--dt-space-1);flex-direction:column}.aikit-footer-text{text-align:center;justify-content:center}.aikit-footer-badge{display:none}}@media (width<=400px){.aikit-header-actions{gap:var(--dt-space-1)}.aikit-footer{padding-left:var(--dt-space-3);padding-right:var(--dt-space-3)}.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}}:focus-visible{outline:2px solid var(--dt-accent-fg,var(--dt-accent-fg));outline-offset:2px}::selection{background:var(--dt-accent-subtle);color:var(--dt-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dt-border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dt-border-muted)}*{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}}
|
|
1499
1633
|
/*$vite$:1*/</style>
|
|
1500
1634
|
</head>
|
|
1501
1635
|
<body>
|