@vpxa/aikit 0.1.364 → 0.1.366
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 +245 -49
- package/packages/claude-desktop/dist/manifest.json +1 -1
- package/packages/cli/dist/index.js +3 -3
- package/packages/cli/dist/{init-BMx7YVOM.js → init-DVXEzLeU.js} +1 -1
- package/packages/cli/dist/{templates-3QxMwDt5.js → templates-CuLU6Y8S.js} +8 -8
- package/packages/present/dist/index.html +287 -91
- package/packages/server/dist/bin.js +1 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/prelude-D1oe3NL7.js +1 -0
- package/packages/server/dist/prelude-t71wRuOe.js +2 -0
- package/packages/server/dist/sampling-C19rdzVZ.js +2 -0
- package/packages/server/dist/sampling-CszJtgGl.js +1 -0
- package/packages/server/dist/{server-DUWF6mtP.js → server-BtvrfwNS.js} +16 -3
- package/packages/server/dist/{server-Bsceh-AT.js → server-T0MytK4x.js} +16 -3
- package/packages/server/dist/{server-http-Cx4tvbmK.js → server-http-BG_N2K2X.js} +1 -1
- package/packages/server/dist/{server-http-BGcKUn5y.js → server-http-DQpYfFMJ.js} +1 -1
- package/packages/server/dist/{server-stdio-BmGuXkkF.js → server-stdio-BntxVWEj.js} +1 -1
- package/packages/server/dist/{server-stdio-C66e05P_.js → server-stdio-D1K-fQAt.js} +1 -1
- package/packages/server/viewers/canvas.html +288 -92
- package/packages/server/viewers/report-template.html +258 -62
- package/packages/server/viewers/tour-viewer.html +260 -64
- package/scaffold/dist/adapters/claude-code.mjs +1 -1
- package/scaffold/dist/adapters/claude-desktop.mjs +1 -1
- package/scaffold/dist/definitions/exec-hooks.mjs +1 -1
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/docs.mjs +1 -1
- package/scaffold/dist/definitions/skills/present.mjs +4 -72
- package/scaffold/dist/generated/block-docs.mjs +5 -3
- package/scaffold/general/hooks/scripts/session-reminder.mjs +23 -28
- package/packages/server/dist/prelude-BgvW6Hp5.js +0 -2
- package/packages/server/dist/prelude-Di-ZDdDk.js +0 -1
- package/packages/server/dist/sampling-CFWUnzbA.js +0 -1
- package/packages/server/dist/sampling-lcC_v6KY.js +0 -2
|
@@ -76,7 +76,97 @@
|
|
|
76
76
|
.bk-form-label { font-size: var(--dt-font-size-sm); font-weight: 500; color: var(--dt-text-secondary); }
|
|
77
77
|
.bk-action-feedback { font-size: var(--dt-font-size-sm); color: var(--dt-text-secondary); padding: var(--dt-space-2) 0; }
|
|
78
78
|
.bk-action-feedback[data-feedback-state="sent"] { color: var(--dt-success-fg); }
|
|
79
|
-
`;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}" data-action-row="single"><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}" data-action-row="multi"><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===`multi-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 bk-multi-select" data-action-id="${r}" data-action-row="single" multiple size="1">${n}</select></label>`}if(t.type===`form-submit`&&t.schema){let n=t.schema;return`<form class="bk-form" data-action-id="${r}" data-action-row="multi"><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}" data-action-row="single">${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=`
|
|
79
|
+
`;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}" data-action-row="single"><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}" data-action-row="multi"><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===`multi-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 bk-multi-select" data-action-id="${r}" data-action-row="single" multiple size="1">${n}</select></label>`}if(t.type===`form-submit`&&t.schema){let n=t.schema;return`<form class="bk-form" data-action-id="${r}" data-action-row="multi"><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}" data-action-row="single">${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={success:`✅`,danger:`❌`,warning:`⚠️`,accent:`ℹ️`},m=`accent`;function h(e){if(typeof e==`string`)return{title:``,body:e,tone:m};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e,n=c(typeof t.tone==`string`?t.tone:typeof t.severity==`string`?t.severity:m),r=typeof t.value==`string`?t.value:typeof t.message==`string`?t.message:typeof t.text==`string`?t.text:typeof t.body==`string`?t.body:g(t);return{title:typeof t.title==`string`?t.title:``,body:r,tone:n}}return{title:``,body:g(e),tone:m}}function g(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var _=`
|
|
80
|
+
.bk-alert {
|
|
81
|
+
display: flex;
|
|
82
|
+
gap: var(--dt-space-4);
|
|
83
|
+
padding: var(--dt-space-5) var(--dt-space-6);
|
|
84
|
+
border: 1px solid var(--dt-border-default);
|
|
85
|
+
border-radius: var(--dt-radius-xl);
|
|
86
|
+
background: var(--dt-bg-secondary);
|
|
87
|
+
box-shadow: var(--dt-shadow-sm);
|
|
88
|
+
align-items: flex-start;
|
|
89
|
+
transition: border-color var(--dt-transition-normal), box-shadow var(--dt-transition-normal);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.bk-alert:hover {
|
|
93
|
+
border-color: var(--alert-border, var(--dt-accent-muted));
|
|
94
|
+
box-shadow: var(--dt-shadow-md);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.bk-alert-icon {
|
|
98
|
+
flex-shrink: 0;
|
|
99
|
+
font-size: 1.25rem;
|
|
100
|
+
line-height: 1.5;
|
|
101
|
+
margin-top: 0.125rem;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.bk-alert-body {
|
|
105
|
+
display: grid;
|
|
106
|
+
gap: var(--dt-space-1);
|
|
107
|
+
min-width: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bk-alert-title {
|
|
111
|
+
color: var(--alert-fg, var(--dt-text-primary));
|
|
112
|
+
font-size: var(--dt-font-size-base);
|
|
113
|
+
font-weight: 600;
|
|
114
|
+
line-height: 1.4;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.bk-alert-text {
|
|
118
|
+
color: var(--dt-text-secondary);
|
|
119
|
+
font-size: var(--dt-font-size-sm);
|
|
120
|
+
line-height: 1.6;
|
|
121
|
+
white-space: pre-wrap;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.bk-alert-text p {
|
|
125
|
+
margin: 0;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.bk-alert-text p + p {
|
|
129
|
+
margin-top: var(--dt-space-2);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* Tone variants */
|
|
133
|
+
.bk-alert[data-tone="success"] {
|
|
134
|
+
--alert-fg: var(--dt-success-fg);
|
|
135
|
+
--alert-border: var(--dt-success-subtle);
|
|
136
|
+
border-left: 4px solid var(--dt-success-fg);
|
|
137
|
+
}
|
|
138
|
+
.bk-alert[data-tone="danger"] {
|
|
139
|
+
--alert-fg: var(--dt-danger-fg);
|
|
140
|
+
--alert-border: var(--dt-danger-subtle);
|
|
141
|
+
border-left: 4px solid var(--dt-danger-fg);
|
|
142
|
+
}
|
|
143
|
+
.bk-alert[data-tone="warning"] {
|
|
144
|
+
--alert-fg: var(--dt-warning-fg);
|
|
145
|
+
--alert-border: var(--dt-warning-subtle);
|
|
146
|
+
border-left: 4px solid var(--dt-warning-fg);
|
|
147
|
+
}
|
|
148
|
+
.bk-alert[data-tone="accent"] {
|
|
149
|
+
--alert-fg: var(--dt-accent-fg);
|
|
150
|
+
--alert-border: var(--dt-accent-subtle);
|
|
151
|
+
border-left: 4px solid var(--dt-accent-fg);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@media (max-width: 480px) {
|
|
155
|
+
.bk-alert {
|
|
156
|
+
padding: var(--dt-space-4);
|
|
157
|
+
gap: var(--dt-space-3);
|
|
158
|
+
}
|
|
159
|
+
.bk-alert-icon {
|
|
160
|
+
font-size: 1rem;
|
|
161
|
+
}
|
|
162
|
+
.bk-alert-title {
|
|
163
|
+
font-size: var(--dt-font-size-sm);
|
|
164
|
+
}
|
|
165
|
+
.bk-alert-text {
|
|
166
|
+
font-size: var(--dt-font-size-xs);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
`;function v(e,t){let{title:n,body:r,tone:i}=h(e.value),o=p[i]??p[m],s=n?`<div class="bk-alert-title">${a(n)}</div>`:``,c=r?`<div class="bk-alert-text">${a(r)}</div>`:``;return!s&&!c?`<div class="bk-alert"></div>`:`<div class="bk-alert" data-tone="${i}"><span class="bk-alert-icon">${o}</span><div class="bk-alert-body">${s}${c}</div></div>`}var ee=`
|
|
80
170
|
/* ── Entrance: fade-in + slide-up for cards, metrics, checklist, findings ── */
|
|
81
171
|
@keyframes aikit-enter-fade {
|
|
82
172
|
from { opacity: 0; transform: translateY(8px); }
|
|
@@ -123,7 +213,7 @@
|
|
|
123
213
|
0% { background-position: -200px 0; }
|
|
124
214
|
100% { background-position: calc(200px + 100%) 0; }
|
|
125
215
|
}
|
|
126
|
-
`,
|
|
216
|
+
`,te=`
|
|
127
217
|
.bk-cards {
|
|
128
218
|
display: grid;
|
|
129
219
|
grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
|
|
@@ -199,7 +289,7 @@
|
|
|
199
289
|
font-size: var(--dt-font-size-base);
|
|
200
290
|
}
|
|
201
291
|
}
|
|
202
|
-
`;function
|
|
292
|
+
`;function ne(t,n){return`<div class="bk-cards">${l(t).map((t,n)=>{let r=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,i=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,a=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}" style="--i: ${n}" aria-label="${e(t.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}var y=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],re=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),b=500,x=300,ie=300,ae=100,oe=30,se=`
|
|
203
293
|
.bk-chart {
|
|
204
294
|
display: grid;
|
|
205
295
|
gap: var(--dt-space-3);
|
|
@@ -348,7 +438,7 @@
|
|
|
348
438
|
padding: var(--dt-space-1) var(--dt-space-2);
|
|
349
439
|
}
|
|
350
440
|
}
|
|
351
|
-
`;function ie(e,t){let n=ae(e),r=pe(n.headers,n.data);if(n.data.length===0||!_.has(n.chartType))return me(n.note,r);let i=oe(n);if(!i)return me(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?ge(a):``}${he(r)}</div>`}function ae(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=_.has(a)?a:`bar`,s=e(a),c=_e(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 oe(e){switch(e.chartType){case`line`:case`area`:return se(e,e.chartType===`area`);case`bar`:return ce(e);case`horizontal-bar`:return le(e);case`pie`:return ue(e,!1);case`donut`:return ue(e,!0);case`sparkline`:return de(e);case`heatmap`:return fe(e);default:return``}}function se(t,n){let r=b(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,y,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Ce(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=g[t%g.length],c=r.map((e,n)=>{let r=s[n],i=C(e.values[t],a,o.bottom,o.top);return`${D(r)},${D(i)}`}),l=r.map((e,n)=>{let r=s[n],c=C(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} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${ye(o,a)}${xe(o)}${Se(r,s,o.bottom+18)}${c}</svg>`}function ce(e){let t=b(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,y,{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=g[t%g.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="${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} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${ye(i,r)}${xe(i)}${Se(t,u,i.bottom+18)}${l}</svg>`}function le(t){let n=b(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,y,{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="${D(a.left-8)}" y="${D(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=g[t%g.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="${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} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${be(a,i)}<line class="bk-chart-axis" x1="${D(l)}" y1="${D(a.top)}" x2="${D(l)}" y2="${D(a.bottom)}" />${u}</svg>`}function ue(t,n){let r=ve(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:De(e[t.xKey]),value:T(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=ee/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=g[r%g.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?Te(o,140,88,s,c,f):we(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let h=w(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${D(h.x)}" y="${D(h.y)}" text-anchor="${h.x>=o?`start`:`end`}">${e(t.label)} ${e(E(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 ${ee} ${ee}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function de(e){let t=ve(e.data,e.xKey,e.yKeys),n=e.data.map(e=>T(e[t]));if(n.every(e=>e===0))return``;let r=S(n),i=n.map((e,t)=>{let i=Ce(t,n.length,0,te),a=C(e,r,ne-2,2);return`${D(i)},${D(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${te} ${ne}" width="100%" height="${ne}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${g[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function fe(t){let n=t.data.map(e=>({label:De(e[t.xKey]),values:t.yKeys.map(t=>T(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r),a=x(v,y,{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} ${y}" 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: ${Ee(e,i)}" />`}).join(``)).join(``)}</svg>`}function pe(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 me(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function he(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function ge(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:${g[n%g.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function _e(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 ve(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Oe(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Oe(n[e]));if(e)return e}return n[0]??`value`}function b(e,t,n){return e.map(e=>({label:De(e[t]),values:n.map(t=>T(e[t]))}))}function ye(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(E(o))}</text>`}).join(``)}function be(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(E(o))}</text>`}).join(``)}function xe(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 Se(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 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=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Ce(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 we(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 ${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 Te(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 ${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 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 Ee(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 De(e){return e==null?``:String(r(e))}function T(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 Oe(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function E(e){return String(r(Number(e.toFixed(2))))}function D(e){return Number(e.toFixed(2)).toString()}var ke=`
|
|
441
|
+
`;function ce(e,t){let n=le(e),r=_e(n.headers,n.data);if(n.data.length===0||!re.has(n.chartType))return ve(n.note,r);let i=ue(n);if(!i)return ve(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?be(a):``}${ye(r)}</div>`}function le(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=re.has(a)?a:`bar`,s=e(a),c=xe(r,String(n?.xKey??`label`)),l=Array.isArray(n?.yKeys)?n.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:o,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ue(e){switch(e.chartType){case`line`:case`area`:return de(e,e.chartType===`area`);case`bar`:return fe(e);case`horizontal-bar`:return pe(e);case`pie`:return me(e,!1);case`donut`:return me(e,!0);case`sparkline`:return he(e);case`heatmap`:return ge(e);default:return``}}function de(t,n){let r=S(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=w(i),o=C(b,x,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>De(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=y[t%y.length],c=r.map((e,n)=>{let r=s[n],i=T(e.values[t],a,o.bottom,o.top);return`${O(r)},${O(i)}`}),l=r.map((e,n)=>{let r=s[n],c=T(e.values[t],a,o.bottom,o.top);return`<circle cx="${O(r)}" cy="${O(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return n?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${O(s[0])},${O(o.bottom)}`,...c,`${O(s[s.length-1])},${O(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${Ce(o,a)}${Te(o)}${Ee(r,s,o.bottom+18)}${c}</svg>`}function fe(e){let t=S(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=w(n,{includeZero:!0}),i=C(b,x,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=T(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=y[t%y.length],s=n+t*(o+4),l=T(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(s)}" y="${O(u)}" width="${O(o)}" height="${O(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${Ce(i,r)}${Te(i)}${Ee(t,u,i.bottom+18)}${l}</svg>`}function pe(t){let n=S(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=w(r,{includeZero:!0}),a=C(b,x,{left:110,right:20,top:20,bottom:36}),o=a.height/n.length,s=Math.max(4,Math.min(18,(o-8-4*(t.yKeys.length-1))/t.yKeys.length)),c=t.yKeys.length*s+(t.yKeys.length-1)*4,l=T(0,i,a.left,a.right),u=n.map((t,n)=>{let r=a.top+n*o+(o-c)/2,u=a.top+n*o+o/2+4;return`${`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=y[t%y.length],o=r+t*(s+4),c=T(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(u)}" y="${O(o)}" width="${O(d)}" height="${O(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${we(a,i)}<line class="bk-chart-axis" x1="${O(l)}" y1="${O(a.top)}" x2="${O(l)}" y2="${O(a.bottom)}" />${u}</svg>`}function me(t,n){let r=Se(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:je(e[t.xKey]),value:D(e[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=ie/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=y[r%y.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?ke(o,140,88,s,c,f):Oe(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let h=E(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${O(h.x)}" y="${O(h.y)}" text-anchor="${h.x>=o?`start`:`end`}">${e(t.label)} ${e(Ne(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${O(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${ie} ${ie}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function he(e){let t=Se(e.data,e.xKey,e.yKeys),n=e.data.map(e=>D(e[t]));if(n.every(e=>e===0))return``;let r=w(n),i=n.map((e,t)=>{let i=De(t,n.length,0,ae),a=T(e,r,oe-2,2);return`${O(i)},${O(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ae} ${oe}" width="100%" height="${oe}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${y[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ge(t){let n=t.data.map(e=>({label:je(e[t.xKey]),values:t.yKeys.map(t=>D(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=w(r),a=C(b,x,{left:80,right:20,top:42,bottom:20}),o=a.width/t.yKeys.length,s=a.height/n.length;return`<svg class="bk-chart-svg" viewBox="0 0 ${b} ${x}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${O(a.left+n*o+o/2)}" y="28" text-anchor="middle">${e(t)}</text>`).join(``)}${n.map((t,n)=>{let r=a.top+n*s+s/2+4;return`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(r)}" text-anchor="end">${e(t.label)}</text>`}).join(``)}${n.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${O(r)}" y="${O(c)}" width="${O(o-4)}" height="${O(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Ae(e,i)}" />`}).join(``)).join(``)}</svg>`}function _e(t,n){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${t.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead><tbody>${n.map(n=>`<tr>${t.map(t=>`<td>${e(r(n[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function ve(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function ye(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function be(t){return`<div class="bk-chart-legend">${t.map((t,n)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${y[n%y.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function xe(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function Se(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Me(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Me(n[e]));if(e)return e}return n[0]??`value`}function S(e,t,n){return e.map(e=>({label:je(e[t]),values:n.map(t=>D(e[t]))}))}function Ce(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.max-a*(n.max-n.min),s=t.top+a*t.height;return`<line class="bk-chart-grid" x1="${O(t.left)}" y1="${O(s)}" x2="${O(t.right)}" y2="${O(s)}" /><text class="bk-chart-label" x="${O(t.left-8)}" y="${O(s+4)}" text-anchor="end">${e(Ne(o))}</text>`}).join(``)}function we(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.min+a*(n.max-n.min),s=t.left+a*t.width;return`<line class="bk-chart-grid" x1="${O(s)}" y1="${O(t.top)}" x2="${O(s)}" y2="${O(t.bottom)}" /><text class="bk-chart-label" x="${O(s)}" y="${O(t.bottom+18)}" text-anchor="middle">${e(Ne(o))}</text>`}).join(``)}function Te(e){return`<line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.top)}" x2="${O(e.left)}" y2="${O(e.bottom)}" /><line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.bottom)}" x2="${O(e.right)}" y2="${O(e.bottom)}" />`}function Ee(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${O(n[i])}" y="${O(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function C(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function w(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function De(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function T(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Oe(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=E(e,t,n,r),o=E(e,t,n,i),s=+(i-r>180);return`M ${O(e)} ${O(t)} L ${O(a.x)} ${O(a.y)} A ${O(n)} ${O(n)} 0 ${s} 1 ${O(o.x)} ${O(o.y)} Z`}function ke(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=E(e,t,n,i),s=E(e,t,n,a),c=E(e,t,r,a),l=E(e,t,r,i),u=+(a-i>180);return[`M ${O(o.x)} ${O(o.y)}`,`A ${O(n)} ${O(n)} 0 ${u} 1 ${O(s.x)} ${O(s.y)}`,`L ${O(c.x)} ${O(c.y)}`,`A ${O(r)} ${O(r)} 0 ${u} 0 ${O(l.x)} ${O(l.y)}`,`Z`].join(` `)}function E(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Ae(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${O(100-n)}%, var(--dt-accent-fg) ${O(n)}%)`}function je(e){return e==null?``:String(r(e))}function D(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Me(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function Ne(e){return String(r(Number(e.toFixed(2))))}function O(e){return Number(e.toFixed(2)).toString()}var Pe=`
|
|
352
442
|
/* ===== Base Styles ===== */
|
|
353
443
|
@keyframes strike-through {
|
|
354
444
|
from { width: 0; }
|
|
@@ -473,7 +563,7 @@
|
|
|
473
563
|
font-size: 0.75rem;
|
|
474
564
|
}
|
|
475
565
|
}
|
|
476
|
-
`;function
|
|
566
|
+
`;function Fe(t,n){return`<ul class="bk-checklist">${l(t).map((t,n)=>{let r=!!t.checked;return`<li class="bk-checklist-item" data-checked="${String(r)}" role="checkbox" aria-checked="${String(r)}" tabindex="0" style="--i: ${n}"><span class="bk-checklist-icon" aria-hidden="true">${r?`✓`:`×`}</span><span class="bk-checklist-label">${e(t.label)}</span></li>`}).join(``)}</ul>`}var Ie=`
|
|
477
567
|
.bk-code .bk-hljs-keyword {
|
|
478
568
|
color: var(--dt-purple-fg);
|
|
479
569
|
}
|
|
@@ -529,9 +619,9 @@
|
|
|
529
619
|
.bk-code .bk-hljs-property {
|
|
530
620
|
color: var(--dt-text-primary);
|
|
531
621
|
}
|
|
532
|
-
`,
|
|
533
|
-
`),a=[],o=!1;for(let t of i){if(o&&r.commentMultiClose){let n=r.commentMultiClose,i=t.indexOf(n);if(i!==-1){o=!1;let s=t.slice(0,i+n.length),c=t.slice(i+n.length),l=`<span class="bk-hljs-comment">${e(s)}</span>`;c.trim()&&(l+=
|
|
534
|
-
`)}var
|
|
622
|
+
`,Le={javascript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.export.extends.false.finally.for.function.if.import.in.instanceof.let.new.null.of.return.static.super.switch.this.throw.true.try.typeof.undefined.var.void.while.with.yield`.split(`.`),builtins:[`console`,`Math`,`JSON`,`Promise`,`Array`,`Object`,`String`,`Number`,`Boolean`,`Map`,`Set`,`Symbol`,`RegExp`,`Date`,`Error`,`Proxy`,`Reflect`,`Buffer`,`setTimeout`,`setInterval`,`fetch`,`process`,`globalThis`,`Intl`,`BigInt`],types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},typescript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.enum.export.extends.false.finally.for.function.if.import.in.implements.infer.instanceof.interface.is.keyof.let.new.null.of.readonly.return.static.super.switch.satisfies.this.throw.true.try.typeof.type.undefined.using.var.void.while.with.yield`.split(`.`),builtins:`console.Math.JSON.Promise.Array.Object.String.Number.Boolean.Map.Set.Symbol.RegExp.Date.Error.Proxy.Reflect.Buffer.setTimeout.setInterval.fetch.process.globalThis.Intl.BigInt.Partial.Required.Readonly.Pick.Omit.Record.Exclude.Extract.NonNullable.Parameters.ReturnType.InstanceType.Awaited`.split(`.`),types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`,`object`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},python:{keywords:`False.None.True.and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`),builtins:`print.len.range.type.int.str.float.list.dict.set.tuple.bool.map.filter.zip.enumerate.reversed.sorted.open.input.isinstance.issubclass.hasattr.getattr.setattr.delattr.super.object.property.staticmethod.classmethod.self.cls.Exception.ValueError.TypeError.KeyError.IndexError.StopIteration`.split(`.`),types:[`int`,`float`,`str`,`bool`,`bytes`,`list`,`dict`,`set`,`tuple`,`None`,`Any`],commentSingle:`#`,stringDelims:[`"`,`'`],hashStrings:!0,operators:`+\\-*/%=<>!&|^~`},json:{keywords:[`true`,`false`,`null`],stringDelims:[`"`],operators:`:`,commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`},yaml:{keywords:[`true`,`false`,`yes`,`no`,`on`,`off`,`null`,`~`],commentSingle:`#`,stringDelims:[`"`,`'`],operators:`:\\-`},html:{keywords:[`!DOCTYPE`],commentMultiOpen:`\x3C!--`,commentMultiClose:`-->`,stringDelims:[`"`,`'`],operators:`=`},css:{keywords:[`import`,`media`,`keyframes`,`font-face`,`supports`,`charset`,`namespace`,`page`,`layer`,`container`],builtins:[`red`,`blue`,`green`,`white`,`black`,`transparent`,`currentcolor`,`inherit`,`initial`,`unset`,`revert`],commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`],operators:`:;`},shell:{keywords:[`if`,`then`,`else`,`elif`,`fi`,`for`,`while`,`do`,`done`,`case`,`esac`,`in`,`function`,`return`,`exit`,`break`,`continue`,`select`,`until`,`declare`,`local`,`export`,`readonly`,`unset`],builtins:`echo,printf,read,source,.,cd,pwd,ls,cat,grep,awk,sed,find,xargs,sort,uniq,wc,cut,tr,head,tail,tee,test,[,eval,exec,shift,type,command,let,mapfile,readarray,mkdir,rm,cp,mv,chmod,chown,docker,npm,node,git`.split(`,`),commentSingle:`#`,stringDelims:[`"`,`'`],operators:`=|<>`}},Re={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function ze(e){return e?Le[Re[e.toLowerCase()]??e.toLowerCase()]??null:null}function Be(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t.stringDelims.includes(i)&&i!=="`"){let a=i;if(t.hashStrings&&e.slice(r,r+3)===a+a+a){n.push({type:`string`,value:a+a+a}),r+=3;let t=e.indexOf(a+a+a,r);t===-1?(n.push({type:`string`,value:e.slice(r)}),r=e.length):(n.push({type:`string`,value:e.slice(r,t)}),n.push({type:`string`,value:a+a+a}),r=t+3);continue}let o=a;for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){o+=e[r]+e[r+1],r+=2;continue}if(e[r]===a){o+=a,r++;break}o+=e[r],r++}n.push({type:`string`,value:o});continue}if(t.stringDelims.includes("`")&&i==="`"){let t="`";for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}if(e[r]==="`"){t+="`",r++;break}t+=e[r],r++}n.push({type:`string`,value:t});continue}if(t.commentSingle&&e.startsWith(t.commentSingle,r)){n.push({type:`comment`,value:e.slice(r)}),r=e.length;continue}if(t.commentMultiOpen&&t.commentMultiClose&&e.startsWith(t.commentMultiOpen,r)){let i=t.commentMultiClose,a=e.indexOf(i,r+t.commentMultiOpen.length);a===-1?(n.push({type:`comment`,value:e.slice(r)}),r=e.length):(n.push({type:`comment`,value:e.slice(r,a+i.length)}),r=a+i.length);continue}if(i===`0`&&r+1<e.length&&/[xXbB]/.test(e[r+1])&&t.commentSingle!==`#`){let t=e.slice(r).match(/^0[xX][0-9a-fA-F]+/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[0-9]/.test(i)||i===`.`&&r+1<e.length&&/[0-9]/.test(e[r+1])){let t=e.slice(r).match(/^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[a-zA-Z_$]/.test(i)||i===`@`){let i=e.slice(r).match(/^[@]?[a-zA-Z_$][a-zA-Z0-9_$]*/);if(i){let a=i[0],o=e=>e?e.includes(a):!1;if(o(t.keywords))n.push({type:`keyword`,value:a});else if(o(t.types))n.push({type:`keyword`,value:a});else if(o(t.builtins))n.push({type:`builtin`,value:a});else{let t=r+a.length;t<e.length&&e[t]===`(`?n.push({type:`function`,value:a}):n.push({type:`variable`,value:a})}r+=a.length;continue}}if(i===`<`&&t===Le.html)if(r+1<e.length&&e[r+1]===`/`){let t=e.indexOf(`>`,r+2);if(t!==-1){n.push({type:`punctuation`,value:`</`}),n.push({type:`tag`,value:e.slice(r+2,t)}),n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}else{let t=e.indexOf(`>`,r+1);if(t!==-1){n.push({type:`punctuation`,value:`<`});let i=e.slice(r+1,t),a=i.match(/^[a-zA-Z][a-zA-Z0-9_-]*/);if(a){n.push({type:`tag`,value:a[0]});let e=a[0].length;for(;e<i.length;){if(i[e]===` `||i[e]===` `){e++;continue}let t=i.slice(e).match(/^[a-zA-Z_-][a-zA-Z0-9_-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?/);if(t){let r=t[0],i=r.indexOf(`=`);if(i!==-1){n.push({type:`variable`,value:r.slice(0,i).trim()}),n.push({type:`operator`,value:`=`});let e=r.slice(i+1).trim();e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?n.push({type:`string`,value:e}):n.push({type:`attr-value`,value:e})}else n.push({type:`attr-name`,value:r});e+=t[0].length;continue}break}}else n.push({type:`variable`,value:i});n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}if(t.operators&&!t._opRegex&&(t._opRegex=RegExp(`[${t.operators}]`)),t._opRegex?.test(i)){let t=i,a=i+(e[r+1]||``);[`=>`,`==`,`!=`,`<=`,`>=`,`&&`,`||`,`++`,`--`,`+=`,`-=`,`*=`,`/=`,`::`,`?.`,`??`,`?:`,`??=`].includes(a)?(t=a,r++):i+e.slice(r+1,r+3)===`...`&&(t=`...`,r+=2),n.push({type:`operator`,value:t}),r++;continue}if(/[{}()[\];,:.]/.test(i)){n.push({type:`punctuation`,value:i}),r++;continue}let a=e.slice(r).match(/^[^\s]+/);a?(n.push({type:`variable`,value:a[0]}),r+=a[0].length):(n.push({type:`variable`,value:i}),r++)}return n}var Ve={keyword:`bk-hljs-keyword`,string:`bk-hljs-string`,comment:`bk-hljs-comment`,number:`bk-hljs-number`,builtin:`bk-hljs-builtin`,operator:`bk-hljs-operator`,punctuation:`bk-hljs-punctuation`,tag:`bk-hljs-tag`,"attr-name":`bk-hljs-attr-name`,"attr-value":`bk-hljs-attr-value`,function:`bk-hljs-function`,variable:`bk-hljs-variable`};function He(t){if(!t.length)return``;let n=[],r=null,i=``,a=()=>{if(!i)return;let t=e(i);r&&!/^\s+$/.test(i)?n.push(`<span class="${r}">${t}</span>`):n.push(t),i=``,r=null};for(let o of t){let t=Ve[o.type];if(/^\s+$/.test(o.value)||!t){i&&a(),n.push(e(o.value));continue}r===t?i+=o.value:(a(),r=t,i=o.value)}return a(),n.join(``)}function k(t,n){let r=ze(n);if(!r)return``;let i=t.split(`
|
|
623
|
+
`),a=[],o=!1;for(let t of i){if(o&&r.commentMultiClose){let n=r.commentMultiClose,i=t.indexOf(n);if(i!==-1){o=!1;let s=t.slice(0,i+n.length),c=t.slice(i+n.length),l=`<span class="bk-hljs-comment">${e(s)}</span>`;c.trim()&&(l+=He(Be(c,r))),a.push(l);continue}a.push(`<span class="bk-hljs-comment">${e(t)}</span>`);continue}if(r.commentMultiOpen&&r.commentMultiClose){let n=t.indexOf(r.commentMultiOpen);if(n!==-1&&t.indexOf(r.commentMultiClose,n+r.commentMultiOpen.length)===-1){o=!0;let i=t.slice(0,n),s=``;i.trim()&&(s+=He(Be(i,r))),s+=`<span class="bk-hljs-comment">${e(t.slice(n))}</span>`,a.push(s);continue}}a.push(He(Be(t,r)))}return a.join(`
|
|
624
|
+
`)}var Ue=`
|
|
535
625
|
.bk-code {
|
|
536
626
|
margin: 0;
|
|
537
627
|
padding: var(--dt-space-5);
|
|
@@ -594,8 +684,8 @@
|
|
|
594
684
|
}
|
|
595
685
|
}
|
|
596
686
|
|
|
597
|
-
${
|
|
598
|
-
`;function
|
|
687
|
+
${Ie}
|
|
688
|
+
`;function We(t,r){let i=t.language?` language-${n(String(t.language))}`:``,a=t.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a),s=(t.language?k(o,String(t.language)):``)||e(o);return`<pre class="bk-code"><code class="${i.trim()}">${s}</code></pre>`}function Ge(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.items;return typeof t.title==`string`&&Array.isArray(n)&&n.every(e=>typeof e==`string`)}function Ke(e){let t=i(e);return Array.isArray(t)?t.filter(Ge):t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns.filter(Ge):[]}function qe(e){let t=new Set,n=[];for(let r of e)for(let e of r.items)t.has(e)||(t.add(e),n.push(e));return n}function Je(e,t){if(e.length<2||t.length===0)return!1;let n=!1,r=!1;for(let i of t){let t=e.filter(e=>e.items.includes(i)).length;if(t>1&&(n=!0),t>0&&t<e.length&&(r=!0),n&&r)return!0}return!1}var Ye=`
|
|
599
689
|
/* ── Comparison grid (CSS Grid for equal-height columns) ──────────────── */
|
|
600
690
|
.bk-comparison {
|
|
601
691
|
display: grid;
|
|
@@ -728,7 +818,7 @@ ${je}
|
|
|
728
818
|
padding: 2px var(--dt-space-2);
|
|
729
819
|
}
|
|
730
820
|
}
|
|
731
|
-
`;function
|
|
821
|
+
`;function Xe(t,n){let r=Ke(t.value),i=qe(r),a=Je(r,i);return`<div class="bk-comparison">${r.map(t=>{let n=t.recommended===!0,r;if(a){let n=new Set(t.items);r=i.map(t=>`<li class="${n.has(t)?`bk-comparison-item-diff-present`:`bk-comparison-item-diff-absent`}">${e(t)}</li>`).join(``)}else r=t.items.map(t=>`<li>${e(t)}</li>`).join(``);return`<section class="bk-comparison-column"${n?` data-recommended="true"`:``}>${n?`<div class="bk-comparison-recommended-badge">Recommended</div>`:``}<div class="bk-comparison-title">${e(t.title)}</div><ul class="bk-comparison-items">${r}</ul></section>`}).join(``)}</div>`}function Ze(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 Qe(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 $e(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 et(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 tt(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 nt(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 rt=`
|
|
732
822
|
.bk-component-detail {
|
|
733
823
|
display: grid;
|
|
734
824
|
gap: var(--dt-space-4);
|
|
@@ -932,7 +1022,7 @@ ${je}
|
|
|
932
1022
|
padding-bottom: var(--dt-space-3);
|
|
933
1023
|
}
|
|
934
1024
|
}
|
|
935
|
-
`;function
|
|
1025
|
+
`;function it(t,n){let r=Ze(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=[Qe(r.responsibilities??[]),$e(r.interfaces??[]),et(r.dependencies??[]),tt(r.metrics),nt(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 at(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 ot(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function st(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 ct(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 lt=`
|
|
936
1026
|
.bk-data-table-schema {
|
|
937
1027
|
display: grid;
|
|
938
1028
|
gap: var(--dt-space-4);
|
|
@@ -1055,7 +1145,7 @@ ${je}
|
|
|
1055
1145
|
color: var(--dt-text-primary);
|
|
1056
1146
|
font-weight: 700;
|
|
1057
1147
|
}
|
|
1058
|
-
`;function
|
|
1148
|
+
`;function ut(t,r){let i=at(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=>st(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${ot(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>${ct(i.indexes??[])}</section>`}var A=`
|
|
1059
1149
|
.bk-diagram {
|
|
1060
1150
|
border: 1px solid var(--dt-border-default);
|
|
1061
1151
|
border-radius: var(--dt-radius-lg);
|
|
@@ -1156,7 +1246,7 @@ ${je}
|
|
|
1156
1246
|
max-width: 100%;
|
|
1157
1247
|
height: auto;
|
|
1158
1248
|
}
|
|
1159
|
-
`,
|
|
1249
|
+
`,dt={frontend:`🖥️`,backend:`⚙️`,database:`🗄️`,storage:`💾`,cloud:`☁️`,external:`🔗`,security:`🔒`,messagebus:`📨`,person:`👤`,actor:`👤`,system:`🏛️`,"start-end":`●`,automated:`🤖`,manual:`👆`,decision:`🔀`,branch:`🔀`,infrastructure:`📦`},ft=`📋`;function pt(e){return dt[e]??ft}var mt={frontend:`fill:var(--dt-agent-frontend,#38bdf8)`,backend:`fill:var(--dt-accent-subtle,#14b8a6)`,database:`fill:var(--dt-purple-subtle,#c084fc)`,storage:`fill:var(--dt-purple-subtle,#c084fc)`,cloud:`fill:var(--dt-info-subtle,#bae6fd)`,external:`fill:var(--dt-bg-tertiary,#64748b)`,security:`fill:var(--dt-danger-subtle,#fecaca)`,messagebus:`fill:var(--dt-warning-subtle,#fde68a)`,decision:`fill:var(--dt-danger-subtle,#fecaca)`,automated:`fill:var(--dt-success-subtle,#bbf7d0)`,manual:`fill:var(--dt-warning-subtle,#fde68a)`,person:`fill:var(--dt-accent-subtle,#ccfbf1)`,actor:`fill:var(--dt-accent-subtle,#ccfbf1)`,system:`fill:var(--dt-info-subtle,#bae6fd)`,infrastructure:`fill:var(--dt-bg-tertiary,#e2e8f0)`},ht={person:{open:`([`,close:`])`},actor:{open:`([`,close:`])`},database:{open:`[(`,close:`)]`},storage:{open:`[(`,close:`)]`},decision:{open:`{`,close:`}`},branch:{open:`{`,close:`}`},external:{open:`{{`,close:`}}`},system:{open:`{{`,close:`}}`},start:{open:`((`,close:`))`},end:{open:`((`,close:`))`}},gt={open:`[`,close:`]`};function _t(e){return ht[e]??gt}function j(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function M(e){return e.replace(/"/g,`#quot;`).replace(/\[/g,`#91;`).replace(/\]/g,`#93;`).replace(/\(/g,`#40;`).replace(/\)/g,`#41;`).replace(/\{/g,`#123;`).replace(/\}/g,`#125;`).replace(/`/g,`#96;`).replace(/\n/g,` `).replace(/\r/g,``)}function N(t,n){let r=t.value;if(!r||typeof r!=`object`)return`<div class="bk-diagram"><p class="bk-diagram-empty">No diagram data</p></div>`;let i=t.type??`unknown`,a=i.startsWith(`architecture`)?`architecture`:i.startsWith(`workflow`)?`workflow`:i.startsWith(`sequence`)?`sequence`:i.startsWith(`dataflow`)?`dataflow`:i.startsWith(`lifecycle`)?`lifecycle`:String(r.diagram_type??`unknown`),o=r.meta,s=String(o?.title??`Diagram`),c=vt(r.components??r.nodes??r.participants??r.states??[]),l=vt(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`graph TD`],d=new Set,f=new Map,p=0;for(let e of c){let t=j(String(e.id??e.label??e.name??`node`),p);if(p++,d.has(t))continue;d.add(t),f.set(t,e);let n=String(e.label??e.name??t),r=String(e.type??String(e.kind??``)),i=pt(r),a=e.technology?`<br><small>${M(String(e.technology))}</small>`:``,o=mt[r]??`fill:var(--dt-bg-secondary,#1e293b)`,s=_t(r),c=`${i} ${M(n)}`;u.push(` ${t}${s.open}"${c}${a}"${s.close}`),u.push(` style ${t} ${o}`)}for(let e of l){let t=String(e.from??e.source??``),n=String(e.to??e.target??``),r=j(t),i=j(n);if(!d.has(r)||!d.has(i))continue;let a=e.label?` -- "${M(String(e.label))}" --> `:` --> `;u.push(` ${r}${a}${i}`)}let m=d.size>0,h=u.join(`
|
|
1160
1250
|
`),g=[`<dt>Type</dt><dd>${e(a)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&g.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let _=``;c.length>0&&(_=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${c.slice(0,30).map(t=>{let n=String(t.label??t.name??`(unnamed)`),r=String(t.type??String(t.kind??`-`));return`<tr><td>${e(n)}</td><td>${e(r)}</td></tr>`}).join(``)}</tbody></table>${c.length>30?`<p class="bk-diagram-truncated">… and ${c.length-30} more</p>`:``}`);let v=``;return l.length>0&&(v=`<h4>Relationships</h4><ul>${l.slice(0,20).map(t=>{let n=String(t.from??t.source??`-`),r=String(t.to??t.target??`-`),i=t.label?`: ${e(String(t.label))}`:``;return`<li><strong>${e(n)}</strong> → <strong>${e(r)}</strong>${i}</li>`}).join(``)}</ul>${l.length>20?`<p class="bk-diagram-truncated">… and ${l.length-20} more relationships</p>`:``}`),m?`<div class="${`bk-diagram${m?` bk-diagram-has-viz`:``}`}">
|
|
1161
1251
|
<pre class="bk-diagram-viz mermaid">${e(h)}</pre>
|
|
1162
1252
|
<details class="bk-diagram-fallback">
|
|
@@ -1176,7 +1266,7 @@ ${je}
|
|
|
1176
1266
|
${v}
|
|
1177
1267
|
</div>
|
|
1178
1268
|
</details>
|
|
1179
|
-
</div>`}function
|
|
1269
|
+
</div>`}function vt(e){return Array.isArray(e)?e:[]}var yt=`
|
|
1180
1270
|
/* ── Diff Container ── */
|
|
1181
1271
|
.bk-diff {
|
|
1182
1272
|
overflow-x: auto;
|
|
@@ -1342,11 +1432,11 @@ ${je}
|
|
|
1342
1432
|
.bk-diff-body[data-expanded="true"] {
|
|
1343
1433
|
max-height: none;
|
|
1344
1434
|
}
|
|
1345
|
-
`;function
|
|
1435
|
+
`;function bt(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 xt(t.before,t.after)}return``}function xt(e,t){let n=e.split(`
|
|
1346
1436
|
`),r=t.split(`
|
|
1347
1437
|
`),i=[`--- a/previous`,`+++ a/current`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
|
|
1348
|
-
`)}function
|
|
1349
|
-
`),a=0,o=0,s=[],c=[];function l(){for(let t of c)s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${t.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t.line)}</td></tr>`);c.length=0}for(let t of i)if(t.startsWith(`@@`)){l();let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+\s*(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))l(),s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))if(c.length>0){let e=c.shift();o++;let{oldHtml:n,newHtml:r}=
|
|
1438
|
+
`)}function St(t,n){let r=t.slice(1),i=n.slice(1);if(r===i)return{oldHtml:e(t),newHtml:e(n)};let a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)a++;let o=0,s=r.length-a,c=i.length-a;for(;o<s&&o<c&&r[r.length-1-o]===i[i.length-1-o];)o++;let l=e(r.slice(0,a)),u=e(r.slice(a,r.length-o)),d=e(i.slice(a,i.length-o)),f=e(r.slice(r.length-o));return{oldHtml:u.length>0?`-${l}<span class="bk-diff-word-del">${u}</span>${f}`:`-${l}${f}`,newHtml:d.length>0?`+${l}<span class="bk-diff-word-add">${d}</span>${f}`:`+${l}${f}`}}function Ct(t,n){let r=bt(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
|
|
1439
|
+
`),a=0,o=0,s=[],c=[];function l(){for(let t of c)s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${t.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t.line)}</td></tr>`);c.length=0}for(let t of i)if(t.startsWith(`@@`)){l();let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+\s*(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))l(),s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))if(c.length>0){let e=c.shift();o++;let{oldHtml:n,newHtml:r}=St(e.line,t);s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${e.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n}</td></tr>`),s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${r}</td></tr>`)}else o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(t)}</td></tr>`);else if(t.startsWith(`-`))a++,c.push({line:t,oldLnVal:a});else{l(),a++,o++;let n=t.startsWith(` `)?t:` ${t}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(n)}</td></tr>`)}l();let u=i.length>25;return`<div class="bk-diff">${`<div class="bk-diff-toolbar">${u?`<button class="bk-diff-btn bk-diff-expand" data-expand-text="▼ Expand" data-collapse-text="▲ Collapse">▼ Expand</button>`:``}${`<button class="bk-diff-btn bk-diff-copy" data-diff="${encodeURIComponent(r)}">\uD83D\uDCCB Copy</button>`}</div>`}<script>(function(){var c=document.currentScript;if(!c)return;var d=c.parentElement;if(!d)return;var b=d.querySelector('.bk-diff-body');if(!b)return;var e=d.querySelector('.bk-diff-expand');if(e){e.addEventListener('click',function(){var l=b.dataset.collapsed==='true';b.dataset.collapsed=l?'false':'true';b.dataset.expanded=l?'true':'false';e.textContent=l?e.dataset.collapseText:e.dataset.expandText;})}var p=d.querySelector('.bk-diff-copy');if(p&&navigator.clipboard){p.addEventListener('click',function(){navigator.clipboard.writeText(decodeURIComponent(p.dataset.diff)).then(function(){p.dataset.copied='true';setTimeout(function(){delete p.dataset.copied},2000)})})}})();<\/script><div class="bk-diff-body"${u?` data-collapsed="true"`:``}><table class="bk-diff-table">${s.join(``)}</table></div></div>`}function wt(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var Tt=`
|
|
1350
1440
|
.bk-docs-browser {
|
|
1351
1441
|
display: grid;
|
|
1352
1442
|
gap: var(--dt-space-3);
|
|
@@ -1391,7 +1481,7 @@ ${je}
|
|
|
1391
1481
|
font-size: var(--dt-font-size-xs);
|
|
1392
1482
|
font-weight: 700;
|
|
1393
1483
|
}
|
|
1394
|
-
`;function
|
|
1484
|
+
`;function Et(t,n){return`<div class="bk-docs-browser">${wt(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 Dt(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 Ot(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function kt(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="${Ot(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 At=`
|
|
1395
1485
|
.bk-docs-hub {
|
|
1396
1486
|
display: grid;
|
|
1397
1487
|
gap: var(--dt-space-4);
|
|
@@ -1527,7 +1617,7 @@ ${je}
|
|
|
1527
1617
|
grid-template-columns: minmax(0, 1fr);
|
|
1528
1618
|
}
|
|
1529
1619
|
}
|
|
1530
|
-
`;function
|
|
1620
|
+
`;function jt(t,n){let r=Dt(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=>kt(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Mt(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 Nt=`
|
|
1531
1621
|
.bk-finding {
|
|
1532
1622
|
display: grid;
|
|
1533
1623
|
gap: var(--dt-space-3);
|
|
@@ -1574,7 +1664,7 @@ ${je}
|
|
|
1574
1664
|
line-height: 1.7;
|
|
1575
1665
|
font-size: var(--dt-font-size-sm);
|
|
1576
1666
|
}
|
|
1577
|
-
`;function
|
|
1667
|
+
`;function Pt(t,n){let r=Mt(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 P(e){return typeof e==`object`&&!!e}function F(e){return P(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(F).filter(e=>e!==null):[]}:null}function Ft(e){let t=[],n=[{node:e,depth:0}];for(;n.length>0;){let e=n.shift();if(!e)continue;let{node:r,depth:i}=e;t[i]||(t[i]=[]),t[i].push(r);for(let e of r.children??[])n.push({node:e,depth:i+1})}return t}function It(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var Lt=`
|
|
1578
1668
|
.bk-flame {
|
|
1579
1669
|
display: grid;
|
|
1580
1670
|
gap: 1px;
|
|
@@ -1619,10 +1709,10 @@ ${je}
|
|
|
1619
1709
|
font-size: 10px;
|
|
1620
1710
|
}
|
|
1621
1711
|
}
|
|
1622
|
-
`;function
|
|
1712
|
+
`;function Rt(t,n){let r=i(t.value);if(!P(r))return`<div class="bk-flame"></div>`;let a=P(r.profile)?F(r.profile):F(r);if(!a)return`<div class="bk-flame"></div>`;let o=Ft(a),s=Math.max(a.total,1);return`<div class="bk-flame">${o.map((t,n)=>`<div class="bk-flame-row">${t.map(t=>{let r=Math.max(.5,t.total/s*100),i=r<8?` bk-flame-bar-label--muted`:``,a=(t.children?.length??0)>0,o=t.self===void 0?`${e(t.name)}: ${t.total}`:`${e(t.name)}: ${t.total} (self: ${t.self})`;return`<div class="bk-flame-bar" style="width:${r}%;background:${It(n)}" title="${o}" data-has-children="${a}">
|
|
1623
1713
|
<span class="bk-flame-bar-label${i}">${e(t.name)} (${t.total})</span>
|
|
1624
1714
|
</div>`}).join(``)}</div>`).join(`
|
|
1625
|
-
`)}</div>`}function
|
|
1715
|
+
`)}</div>`}function zt(e){return String(e??``).replace(/"/g,`\\"`)}var Bt=`
|
|
1626
1716
|
.bk-graph {
|
|
1627
1717
|
margin: 0;
|
|
1628
1718
|
padding: var(--dt-space-4);
|
|
@@ -1635,8 +1725,8 @@ ${je}
|
|
|
1635
1725
|
font-size: var(--dt-font-size-sm);
|
|
1636
1726
|
line-height: 1.6;
|
|
1637
1727
|
}
|
|
1638
|
-
`;function
|
|
1639
|
-
`))}</pre>`}var
|
|
1728
|
+
`;function Vt(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=zt(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?`|${zt(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
|
|
1729
|
+
`))}</pre>`}var Ht=`
|
|
1640
1730
|
.bk-heading {
|
|
1641
1731
|
margin: 0;
|
|
1642
1732
|
color: var(--dt-text-primary);
|
|
@@ -1651,7 +1741,7 @@ ${je}
|
|
|
1651
1741
|
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
1652
1742
|
.bk-heading--5,
|
|
1653
1743
|
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
1654
|
-
`;function
|
|
1744
|
+
`;function Ut(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 Wt(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 Gt=`
|
|
1655
1745
|
.bk-kv {
|
|
1656
1746
|
display: grid;
|
|
1657
1747
|
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
@@ -1683,7 +1773,7 @@ ${je}
|
|
|
1683
1773
|
font-size: var(--dt-font-size-sm);
|
|
1684
1774
|
line-height: 1.5;
|
|
1685
1775
|
}
|
|
1686
|
-
`;function
|
|
1776
|
+
`;function Kt(e,t){return`<dl class="bk-kv">${Wt(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 qt=164,Jt=84,Yt=44,Xt=32,Zt=28;function Qt(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 $t(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function en(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 tn(e){return e.type===`decision`?{width:112,height:112}:{width:qt,height:Jt}}function nn(e){let t=Xt;return e.map(e=>{let{width:n,height:r}=tn(e),i={step:e,x:t,y:Zt,width:n,height:r,centerX:t+n/2,centerY:Zt+r/2};return t+=n+Yt,i})}function rn(t){let r=en(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?en(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--${$t(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function an(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 on(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var sn=`
|
|
1687
1777
|
.bk-lifecycle-flow {
|
|
1688
1778
|
display: grid;
|
|
1689
1779
|
gap: var(--dt-space-3);
|
|
@@ -1777,7 +1867,7 @@ ${je}
|
|
|
1777
1867
|
.bk-lifecycle-flow-node--slate {
|
|
1778
1868
|
color: var(--dt-text-secondary);
|
|
1779
1869
|
}
|
|
1780
|
-
`;function
|
|
1870
|
+
`;function cn(t,n){let r=Qt(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=nn(i),o=new Map(a.map(e=>[e.step.id,e])),s=on(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+Xt);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=>an(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>rn(e)).join(``)}</g></svg></div></figure>`}var ln=`
|
|
1781
1871
|
.bk-list {
|
|
1782
1872
|
display: grid;
|
|
1783
1873
|
gap: var(--dt-space-2);
|
|
@@ -1806,16 +1896,16 @@ ${je}
|
|
|
1806
1896
|
box-shadow: 0 0 0 3px var(--dt-accent-subtle);
|
|
1807
1897
|
transform: translateY(-50%);
|
|
1808
1898
|
}
|
|
1809
|
-
`;function
|
|
1810
|
-
${
|
|
1899
|
+
`;function un(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 dn=`
|
|
1900
|
+
${Ht}
|
|
1811
1901
|
.bk-markdown {
|
|
1812
1902
|
color: var(--dt-text-primary);
|
|
1813
1903
|
font-size: var(--dt-font-size-base);
|
|
1814
1904
|
line-height: 1.7;
|
|
1815
1905
|
}
|
|
1816
|
-
`,
|
|
1817
|
-
`),r=(c?
|
|
1818
|
-
`),r=(c?
|
|
1906
|
+
`,fn=/^(#{1,6})\s+(.+)$/,pn=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function mn(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function hn(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=mn(a);e&&(i.push(e),a.length=0)};for(let t of r.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){if(!o)l(),o=!0,c=n.slice(3).trim(),s=[];else{let t=c?` class="${e(c)}"`:``,n=s.join(`
|
|
1907
|
+
`),r=(c?k(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(fn);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(pn.test(n)){l(),i.push(`<hr>`);continue}a.push(t)}if(l(),o&&s.length>0){let t=c?` class="${e(c)}"`:``,n=s.join(`
|
|
1908
|
+
`),r=(c?k(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var gn=`
|
|
1819
1909
|
.bk-mermaid {
|
|
1820
1910
|
margin: 0;
|
|
1821
1911
|
padding: var(--dt-space-4);
|
|
@@ -1857,7 +1947,7 @@ ${Rt}
|
|
|
1857
1947
|
font-size: 0.75rem;
|
|
1858
1948
|
}
|
|
1859
1949
|
}
|
|
1860
|
-
`;function
|
|
1950
|
+
`;function _n(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function vn(t){if(t==null||t===``)return``;let n=r(t);if(/^[↑↓→]/.test(n))return`<span class="bk-metric-trend">${e(n)}</span>`;let i=Number(String(t).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(i)?``:i>0?`↑ `:i<0?`↓ `:`→ `}${e(n)}</span>`}var yn=`
|
|
1861
1951
|
.bk-metrics {
|
|
1862
1952
|
display: grid;
|
|
1863
1953
|
grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
|
|
@@ -1924,14 +2014,14 @@ ${Rt}
|
|
|
1924
2014
|
font-size: var(--dt-font-size-xl);
|
|
1925
2015
|
}
|
|
1926
2016
|
}
|
|
1927
|
-
`;function
|
|
2017
|
+
`;function bn(t,n){return`<div class="bk-metrics">${l(t).map((t,n)=>`<article class="bk-metric" data-tone="${c(t.status)}" style="--i: ${n}"><div class="bk-metric-label">${e(t.label)}</div><div class="bk-metric-value">${e(r(t.value))}</div>${vn(t.trend)}</article>`).join(``)}</div>`}var xn=`
|
|
1928
2018
|
.bk-paragraph {
|
|
1929
2019
|
margin: 0;
|
|
1930
2020
|
color: var(--dt-text-primary);
|
|
1931
2021
|
font-size: var(--dt-font-size-base);
|
|
1932
2022
|
line-height: 1.7;
|
|
1933
2023
|
}
|
|
1934
|
-
`;function
|
|
2024
|
+
`;function Sn(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function Cn(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 wn=`
|
|
1935
2025
|
@keyframes glow-pulse {
|
|
1936
2026
|
0%, 100% {
|
|
1937
2027
|
box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 12px var(--bar-glow);
|
|
@@ -1985,7 +2075,7 @@ ${Rt}
|
|
|
1985
2075
|
.bk-progress-item:nth-child(n+11) .bk-progress-bar {
|
|
1986
2076
|
animation-delay: 0ms, 800ms;
|
|
1987
2077
|
}
|
|
1988
|
-
`;function
|
|
2078
|
+
`;function Tn(t,n){return`<div class="bk-progress">${Cn(t.value).map((t,n)=>{let r=Math.max(1,Number(t.max)||100),i=Math.max(0,Number(t.value)||0),a=Math.round(Math.min(i/r*100,100)),o=c(t.color);return`<div class="bk-progress-item" style="--i: ${n}"><div class="bk-progress-meta"><span>${e(t.label)}</span><span>${a}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" role="progressbar" aria-valuenow="${i}" aria-valuemin="0" aria-valuemax="${r}" aria-label="${e(t.label)}" style="width:${a}%;background:var(--dt-${o}-emphasis);--bar-glow:var(--dt-glow-${o});"></span></div></div>`}).join(``)}</div>`}function En(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var Dn=`
|
|
1989
2079
|
.bk-prompt {
|
|
1990
2080
|
margin: 0;
|
|
1991
2081
|
padding: var(--dt-space-4);
|
|
@@ -1999,13 +2089,104 @@ ${Rt}
|
|
|
1999
2089
|
line-height: 1.6;
|
|
2000
2090
|
white-space: pre-wrap;
|
|
2001
2091
|
}
|
|
2002
|
-
`;function
|
|
2092
|
+
`;function On(t,n){return`<pre class="bk-prompt">${e(En(t.value))}</pre>`}var kn=`
|
|
2003
2093
|
.bk-separator {
|
|
2004
2094
|
margin: var(--dt-space-6) 0;
|
|
2005
2095
|
border: 0;
|
|
2006
2096
|
border-top: 1px solid var(--dt-border-default);
|
|
2007
2097
|
}
|
|
2008
|
-
`;function
|
|
2098
|
+
`;function An(e,t){return`<hr class="bk-separator">`}var jn={green:`success`,blue:`accent`,yellow:`warning`,orange:`warning`,red:`danger`,purple:`accent`,teal:`success`,gray:`accent`,grey:`accent`};function Mn(e){if(!e)return`accent`;let t=e.toLowerCase();return jn[t]||(/^#[0-9a-f]{3,8}$/i.test(t)?`accent`:c(t))}function Nn(e){return e?/^#[0-9a-f]{3,8}$/i.test(e.trim()):!1}var Pn=`
|
|
2099
|
+
.bk-stat-group {
|
|
2100
|
+
display: grid;
|
|
2101
|
+
grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
|
|
2102
|
+
gap: var(--dt-space-3);
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
.bk-stat-card {
|
|
2106
|
+
display: grid;
|
|
2107
|
+
gap: var(--dt-space-1);
|
|
2108
|
+
padding: var(--dt-space-4) var(--dt-space-5);
|
|
2109
|
+
border: 1px solid var(--dt-border-default);
|
|
2110
|
+
border-radius: var(--dt-radius-xl);
|
|
2111
|
+
background: var(--dt-bg-secondary);
|
|
2112
|
+
box-shadow: var(--dt-shadow-sm);
|
|
2113
|
+
position: relative;
|
|
2114
|
+
overflow: hidden;
|
|
2115
|
+
transition: transform var(--dt-transition-normal), box-shadow var(--dt-transition-normal);
|
|
2116
|
+
animation: aikit-enter-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
2117
|
+
animation-delay: calc(var(--i, 0) * 60ms);
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
/* Accent bar at top */
|
|
2121
|
+
.bk-stat-card::before {
|
|
2122
|
+
content: '';
|
|
2123
|
+
position: absolute;
|
|
2124
|
+
top: 0;
|
|
2125
|
+
left: 0;
|
|
2126
|
+
right: 0;
|
|
2127
|
+
height: 3px;
|
|
2128
|
+
background: var(--stat-bar-color, var(--dt-accent-subtle));
|
|
2129
|
+
transition: background var(--dt-transition-normal);
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
.bk-stat-card:hover {
|
|
2133
|
+
transform: translateY(-2px);
|
|
2134
|
+
box-shadow: var(--dt-shadow-md);
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
.bk-stat-value {
|
|
2138
|
+
color: var(--stat-text-color, var(--dt-text-primary));
|
|
2139
|
+
font-size: var(--dt-font-size-2xl);
|
|
2140
|
+
font-weight: 700;
|
|
2141
|
+
letter-spacing: -0.02em;
|
|
2142
|
+
line-height: 1.1;
|
|
2143
|
+
font-variant-numeric: tabular-nums;
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
.bk-stat-label {
|
|
2147
|
+
color: var(--dt-text-secondary);
|
|
2148
|
+
font-size: var(--dt-font-size-xs);
|
|
2149
|
+
font-weight: 600;
|
|
2150
|
+
letter-spacing: 0.03em;
|
|
2151
|
+
text-transform: uppercase;
|
|
2152
|
+
word-break: break-word;
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
/* Tone accent colors for stat cards */
|
|
2156
|
+
.bk-stat-card[data-tone="success"] { --stat-bar-color: var(--dt-success-subtle); --stat-text-color: var(--dt-success-fg); }
|
|
2157
|
+
.bk-stat-card[data-tone="danger"] { --stat-bar-color: var(--dt-danger-subtle); --stat-text-color: var(--dt-danger-fg); }
|
|
2158
|
+
.bk-stat-card[data-tone="warning"] { --stat-bar-color: var(--dt-warning-subtle); --stat-text-color: var(--dt-warning-fg); }
|
|
2159
|
+
.bk-stat-card[data-tone="accent"] { --stat-bar-color: var(--dt-accent-subtle); --stat-text-color: var(--dt-accent-fg); }
|
|
2160
|
+
|
|
2161
|
+
@media (max-width: 480px) {
|
|
2162
|
+
.bk-stat-group {
|
|
2163
|
+
grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
|
|
2164
|
+
gap: var(--dt-space-2);
|
|
2165
|
+
}
|
|
2166
|
+
.bk-stat-card {
|
|
2167
|
+
padding: var(--dt-space-3) var(--dt-space-4);
|
|
2168
|
+
}
|
|
2169
|
+
.bk-stat-value {
|
|
2170
|
+
font-size: var(--dt-font-size-xl);
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
@media (max-width: 320px) {
|
|
2175
|
+
.bk-stat-group {
|
|
2176
|
+
grid-template-columns: repeat(2, 1fr);
|
|
2177
|
+
gap: var(--dt-space-1);
|
|
2178
|
+
}
|
|
2179
|
+
.bk-stat-card {
|
|
2180
|
+
padding: var(--dt-space-2) var(--dt-space-3);
|
|
2181
|
+
}
|
|
2182
|
+
.bk-stat-value {
|
|
2183
|
+
font-size: var(--dt-font-size-lg);
|
|
2184
|
+
}
|
|
2185
|
+
.bk-stat-label {
|
|
2186
|
+
font-size: 0.625rem;
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
`;function Fn(t,n){let i=t.value,a=[];if(Array.isArray(i))a=i;else if(i&&typeof i==`object`&&`items`in i){let e=i;Array.isArray(e.items)&&(a=e.items)}return a.length===0?`<div class="bk-stat-group"></div>`:`<div class="bk-stat-group">${a.map((t,n)=>{let i=Nn(t.color)?` style="--stat-bar-color: ${e(t.color?.trim()??``)}; --stat-text-color: ${e(t.color?.trim()??``)}"`:``;return`<article class="bk-stat-card"${i?``:` data-tone="${Mn(t.color)}"`}${i} style="--i: ${n}"><div class="bk-stat-value">${e(r(t.value))}</div><div class="bk-stat-label">${e(t.label)}</div></article>`}).join(``)}</div>`}function In(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var Ln=`
|
|
2009
2190
|
.bk-status-board {
|
|
2010
2191
|
display: grid;
|
|
2011
2192
|
gap: var(--dt-space-4);
|
|
@@ -2063,7 +2244,7 @@ ${Rt}
|
|
|
2063
2244
|
.bk-status-description {
|
|
2064
2245
|
color: var(--dt-text-secondary);
|
|
2065
2246
|
}
|
|
2066
|
-
`;function
|
|
2247
|
+
`;function Rn(t,n){return`<div class="bk-status-board">${In(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 zn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Bn(e){let t=(e??[]).map(e=>{if(zn(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 Vn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=Bn(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}=Bn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var Hn=`
|
|
2067
2248
|
/* ── Scroll fade mask (indicates overflow) ── */
|
|
2068
2249
|
.bk-table-wrap {
|
|
2069
2250
|
overflow-x: auto;
|
|
@@ -2219,7 +2400,7 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2219
2400
|
font-size: 1.5rem;
|
|
2220
2401
|
opacity: 0.5;
|
|
2221
2402
|
}
|
|
2222
|
-
`;function
|
|
2403
|
+
`;function Un(t,n){let{headers:i,keys:a,rows:o}=Vn(t);if(i.length===0)return`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`;let s=n=>{let r=t.sorted===n,i=r&&t.sortDir!==`desc`,a=i?`▲`:r?`▼`:`⇅`;return`<th${r?` aria-sort="${i?`ascending`:`descending`}"`:``}>${e(n)}<span class="bk-table-sort-icon">${a}</span></th>`},c=`<thead><tr>${i.map(e=>s(e)).join(``)}</tr></thead>`,l=o.length>0&&a.length>2?` data-scrollable="true"`:``,u;return u=o.length===0?`<tr><td colspan="${i.length}"><div class="bk-table-empty"><span class="bk-table-empty-icon" aria-hidden="true">📋</span>No data</div></td></tr>`:o.map(t=>`<tr>${a.map(n=>`<td>${e(r(t[n]))}</td>`).join(``)}</tr>`).join(``),`<div class="bk-table-wrap"${l}><table class="bk-table">${c}<tbody>${u}</tbody></table></div>`}function Wn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var Gn=`
|
|
2223
2404
|
.bk-tags {
|
|
2224
2405
|
display: flex;
|
|
2225
2406
|
flex-wrap: wrap;
|
|
@@ -2237,13 +2418,13 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2237
2418
|
font-weight: 600;
|
|
2238
2419
|
letter-spacing: 0.02em;
|
|
2239
2420
|
}
|
|
2240
|
-
`;function
|
|
2421
|
+
`;function Kn(t,n){return`<div class="bk-tags">${Wn(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 qn=`
|
|
2241
2422
|
.bk-text {
|
|
2242
2423
|
color: var(--dt-text-primary);
|
|
2243
2424
|
font-size: var(--dt-font-size-base);
|
|
2244
2425
|
line-height: 1.7;
|
|
2245
2426
|
}
|
|
2246
|
-
`;function
|
|
2427
|
+
`;function Jn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Yn=`
|
|
2247
2428
|
.bk-timeline {
|
|
2248
2429
|
display: grid;
|
|
2249
2430
|
gap: var(--dt-space-4);
|
|
@@ -2313,7 +2494,7 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2313
2494
|
height: 0.5rem;
|
|
2314
2495
|
}
|
|
2315
2496
|
}
|
|
2316
|
-
`;function
|
|
2497
|
+
`;function Xn(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 I(t,n){if(Array.isArray(t)){let r=t.map(e=>I(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 I(r.children??[],i);let a=Object.entries(r).map(([e,t])=>I(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 Zn=`
|
|
2317
2498
|
.bk-tree {
|
|
2318
2499
|
display: grid;
|
|
2319
2500
|
gap: var(--dt-space-2);
|
|
@@ -2345,8 +2526,8 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2345
2526
|
.bk-tree-key {
|
|
2346
2527
|
color: var(--dt-text-primary);
|
|
2347
2528
|
}
|
|
2348
|
-
`;function
|
|
2349
|
-
${
|
|
2529
|
+
`;function Qn(e,t){return`<div class="bk-tree">${I(i(e.value))}</div>`}var L={actions:d,alert:_,cards:te,chart:se,checklist:Pe,code:Ue,"architecture-diagram":A,"workflow-diagram":A,"sequence-diagram":A,"dataflow-diagram":A,"lifecycle-diagram":A,diff:yt,comparison:Ye,"component-detail":rt,"data-table-schema":lt,"docs-browser":Tt,"docs-hub":At,finding:Nt,"flame-graph":Lt,graph:Bt,heading:Ht,kv:Gt,"lifecycle-flow":sn,list:ln,markdown:dn,mermaid:gn,metrics:yn,paragraph:xn,progress:wn,prompt:Dn,separator:kn,"stat-group":Pn,"status-board":Ln,table:Hn,tags:Gn,text:qn,timeline:Yn,tree:Zn},$n=`
|
|
2530
|
+
${ee}
|
|
2350
2531
|
.bk-section {
|
|
2351
2532
|
display: grid;
|
|
2352
2533
|
gap: var(--dt-space-3);
|
|
@@ -2389,6 +2570,8 @@ ${p}
|
|
|
2389
2570
|
.bk-markdown,
|
|
2390
2571
|
.bk-paragraph,
|
|
2391
2572
|
.bk-fallback,
|
|
2573
|
+
.bk-fallback-grid,
|
|
2574
|
+
.bk-fallback-item,
|
|
2392
2575
|
.bk-prompt,
|
|
2393
2576
|
.bk-heading,
|
|
2394
2577
|
.bk-kv,
|
|
@@ -2401,6 +2584,8 @@ ${p}
|
|
|
2401
2584
|
.bk-comparison,
|
|
2402
2585
|
.bk-component-detail,
|
|
2403
2586
|
.bk-status-board,
|
|
2587
|
+
.bk-stat-group,
|
|
2588
|
+
.bk-alert,
|
|
2404
2589
|
.bk-progress,
|
|
2405
2590
|
.bk-lifecycle-flow,
|
|
2406
2591
|
.bk-timeline,
|
|
@@ -2464,6 +2649,16 @@ ${p}
|
|
|
2464
2649
|
white-space: pre-wrap;
|
|
2465
2650
|
}
|
|
2466
2651
|
|
|
2652
|
+
.bk-fallback-grid {
|
|
2653
|
+
display: grid;
|
|
2654
|
+
gap: var(--dt-space-3);
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2657
|
+
.bk-fallback-item {
|
|
2658
|
+
animation: aikit-enter-fade 300ms ease both;
|
|
2659
|
+
animation-delay: calc(var(--i, 0) * 50ms);
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2467
2662
|
.bk-visually-hidden {
|
|
2468
2663
|
position: absolute;
|
|
2469
2664
|
width: 1px;
|
|
@@ -2491,7 +2686,7 @@ blockquote {
|
|
|
2491
2686
|
border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0;
|
|
2492
2687
|
color: var(--dt-text-secondary);
|
|
2493
2688
|
}
|
|
2494
|
-
`,
|
|
2689
|
+
`,er=`
|
|
2495
2690
|
@media print {
|
|
2496
2691
|
.aikit-header,.aikit-footer,.aikit-toolbox,.aikit-toolbox-toggle,.aikit-toolbox-menu,
|
|
2497
2692
|
.aikit-theme-toggle,.aikit-copy-status,.aikit-glow-primary,.aikit-glow-secondary {
|
|
@@ -2525,20 +2720,20 @@ blockquote {
|
|
|
2525
2720
|
.bk-text,.bk-markdown,.bk-paragraph,.bk-finding { widows: 3; orphans: 3; }
|
|
2526
2721
|
::selection { background: #ccc !important; color: #000 !important; }
|
|
2527
2722
|
}
|
|
2528
|
-
`;function
|
|
2529
|
-
`)}function
|
|
2530
|
-
`)}function
|
|
2531
|
-
`)}function
|
|
2723
|
+
`;function tr(e){let t=[$n,er],n=new Set;for(let r of e)!n.has(r)&&L[r]&&(n.add(r),t.push(L[r]));return t.join(`
|
|
2724
|
+
`)}function nr(){return tr(Object.keys(L))}var R={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`},rr=`<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>`,ir=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="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>`,ar=`<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>`,or=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><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>`,sr=`<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>`,cr=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:ir,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:ar,onclick:`downloadPng()`}];function lr(t){return[` <button type="button" class="${R.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(`
|
|
2725
|
+
`)}function ur(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${R.toolbox}">`,` <button type="button" class="${R.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${rr}`,` </button>`,` <div id="aikit-toolbox-menu" class="${R.toolboxMenu}" role="menu" hidden>`,...r.map(e=>lr(e)),` </div>`,` </div>`].join(`
|
|
2726
|
+
`)}function dr(e){return e?.trim()?e.trim():``}function fr(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 pr(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?cr:[]),a=[dr(t.actionsHtml),ur(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${R.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${R.themeToggleIcon} ${R.themeToggleIconSun}" aria-hidden="true">${or}</span>`,` <span class="${R.themeToggleIcon} ${R.themeToggleIconMoon}" aria-hidden="true">${sr}</span>`,` </button>`].join(`
|
|
2532
2727
|
`)].filter(Boolean).join(`
|
|
2533
|
-
`);return[` <header class="${
|
|
2534
|
-
`)}function
|
|
2535
|
-
`)}function
|
|
2728
|
+
`);return[` <header class="${R.header}">`,` <div class="${R.brand}">${e(n)}</div>`,` <div class="${R.title}">`,` <span class="${R.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${R.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${R.actions}">`,a,` </div>`,` </header>`].join(`
|
|
2729
|
+
`)}function mr(t={}){let n=fr(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${R.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${R.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${R.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${R.footerBrand}">AI KIT</span>`,o=dr(t.contentHtml),s=r?`<span class="${R.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="${R.footer}">`,` <div class="${R.footerMeta}">`,` <span class="${R.footerText}">${a}</span>`,...o?[` <span class="${R.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
|
|
2730
|
+
`)}function hr(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 gr(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}">
|
|
2536
2731
|
<p class="bk-annotation-body">${e(t.body)}</p>
|
|
2537
2732
|
${i.length>0?`<div class="bk-annotation-meta">${i.join(``)}</div>`:``}
|
|
2538
|
-
</li>`}function
|
|
2539
|
-
<h4 class="bk-annotation-group-title">${e(
|
|
2540
|
-
<ol class="bk-annotation-list">${n.map(
|
|
2541
|
-
</div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function
|
|
2733
|
+
</li>`}function _r(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function vr(t,n){let r=hr(Array.isArray(t.value)?t.value:[]);return`<div class="bk-annotations">${Object.entries(r).filter(([,e])=>e.length>0).map(([t,n])=>`<div class="bk-annotation-group">
|
|
2734
|
+
<h4 class="bk-annotation-group-title">${e(_r(t))}</h4>
|
|
2735
|
+
<ol class="bk-annotation-list">${n.map(gr).join(``)}</ol>
|
|
2736
|
+
</div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function yr(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function br(t,r){let i=t.blockId?n(t.blockId):void 0,a=yr(t.value)?t.value:{prompt:``,options:[]},o=a.prompt?`<p class="bk-approval-prompt">${e(a.prompt)}</p>`:``,s=a.options.map(t=>`<label class="bk-approval-option" data-option-id="${n(t.id)}">
|
|
2542
2737
|
<input type="radio" name="approval" value="${n(t.id)}" role="radio" />
|
|
2543
2738
|
<span class="bk-approval-option-label">${e(t.label)}</span>
|
|
2544
2739
|
${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span>`:``}
|
|
@@ -2549,9 +2744,10 @@ ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span
|
|
|
2549
2744
|
${o}
|
|
2550
2745
|
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
2551
2746
|
${c}
|
|
2552
|
-
</div>`}var
|
|
2553
|
-
`)}function
|
|
2554
|
-
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Nr={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=>Ar(e).flatMap(Mr),hydration:[],supportedTransports:Dr},Pr=[`mcp-app`,`browser`,`export`];function z(e){return typeof e==`object`&&!!e}function Fr(e){return z(e)&&typeof e.type==`string`}function Ir(e){return Array.isArray(e)&&e.every(Fr)}function Lr(e){if(!z(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!z(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Ir(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Rr(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 zr={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(...Rr(e));return n},hydration:[],supportedTransports:Pr},Br=[`mcp-app`,`browser`,`export`];function Vr(e){return typeof e==`object`&&!!e}function Hr(e){return Vr(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 Ur={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=Hr(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:Br};function B(e){return typeof e==`object`&&!!e}function Wr(e){return Array.isArray(e)?e.flatMap(e=>!B(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`||B(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 Gr={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:B(e)&&typeof e.title==`string`?e.title:`Form`,fields:B(e)?Wr(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`]},Kr=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function qr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!V(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Jr(e){return Array.isArray(e)?e.flatMap(e=>!V(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 Yr(e){return V(e)?{categories:qr(e.categories),items:Jr(e.items)}:{items:[]}}function Xr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Zr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Xr)}]}var Qr={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=Yr(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=Zr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Zr(`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(Xr)}),n},hydration:[`picker`],supportedTransports:Kr},$r=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function ei(e){return H(e)&&typeof e.type==`string`}function ti(e){return Array.isArray(e)&&e.every(ei)}function ni(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function ri(e){return Array.isArray(e)?e.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||ti(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function ii(e){return Array.isArray(e)?e.flatMap(e=>H(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 ai(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 oi(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}var si={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:H(e)&&typeof e.title==`string`?e.title:`Report`,metrics:H(e)&&Array.isArray(e.metrics)?e.metrics.filter(ni):void 0,sections:H(e)?ri(e.sections):[],tables:H(e)?ii(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(...ai(e));for(let e of t.tables??[])n.push(oi(e));return n},hydration:[],supportedTransports:$r},ci=[`mcp-app`,`browser`];function U(e){return typeof e==`object`&&!!e}function li(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function ui(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(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=U(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 di(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(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 fi={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(!U(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=li(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=ui(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(U(a)){let e=di(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:ci},pi=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function mi(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!W(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 hi(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var gi={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=W(e)?mi(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:hi(e.items)});return n},hydration:[],supportedTransports:pi},_i=[`mcp-app`,`browser`,`export`];function vi(e){return typeof e==`object`&&!!e}function yi(e){return Array.isArray(e)?e.flatMap(e=>!vi(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 bi(e){return Array.isArray(e)?{entries:yi(e)}:vi(e)?{entries:yi(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var G={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},xi={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[G,{type:`object`,properties:{title:{type:`string`},entries:G,events:G,items:G},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=bi(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:_i},Si=[`mcp-app`,`browser`,`export`];function K(e){return typeof e==`object`&&!!e}function Ci(e){return K(e)&&typeof e.label==`string`}function wi(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Ci).map(wi):[]}}function Ti(e){if(!K(e))return{};let t=e.root;return Ci(t)?wi(t):K(t)?t:e}var Ei={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:Ti(e)}],hydration:[`tree`],supportedTransports:Si},q=new gr;q.register(fi),q.register(br),q.register(Nr),q.register(zr),q.register(Qr),q.register(si),q.register(xi),q.register(Ei),q.register(Er),q.register(Ur),q.register(Gr),q.register(gi);var Di=3e3,Oi=2e3;function J(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},Di));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},Oi)}function ki(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),J(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),J(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),J(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),J(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var Ai=`
|
|
2747
|
+
</div>`}var xr={actions:f,alert:v,annotation:vr,approval:br,cards:ne,chart:ce,checklist:Fe,code:We,comparison:Xe,"architecture-diagram":N,"workflow-diagram":N,"sequence-diagram":N,"dataflow-diagram":N,"lifecycle-diagram":N,diff:Ct,"component-detail":it,"data-table-schema":ut,"docs-browser":Et,"docs-hub":jt,"flame-graph":Rt,finding:Pt,graph:Vt,heading:Ut,kv:Kt,"lifecycle-flow":cn,list:un,markdown:hn,mermaid:_n,metrics:bn,paragraph:Sn,progress:Tn,prompt:On,separator:An,"stat-group":Fn,"status-board":Rn,table:Un,tags:Kn,text:Jn,timeline:Xn,tree:Qn};function Sr(t,r,a){let o={...t,value:i(t.value)},s=xr[o.type],c=s?s(o,r):wr(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 Cr(e,t){return e.map((e,n)=>Sr(e,t,n)).join(`
|
|
2748
|
+
`)}function wr(t){let n=t.value;if(n==null)return``;if(typeof n==`string`)return Tr(n);if(Array.isArray(n)&&n.length>0&&n.every(e=>typeof e==`string`))return`<ul class="bk-list">${n.map(t=>`<li>${e(t)}</li>`).join(``)}</ul>`;if(Array.isArray(n)&&n.length>0&&typeof n[0]==`object`&&n[0]!==null)return`<div class="bk-fallback-grid">${n.map((t,n)=>{let r=Object.entries(t).map(([t,n])=>{let r=n==null?``:String(n);return r?`<div class="bk-kv-entry"><dt class="bk-kv-key">${e(t)}</dt><dd class="bk-kv-value">${e(r)}</dd></div>`:``}).filter(Boolean).join(``);return r?`<div class="bk-fallback-item" style="--i:${n}">${r}</div>`:``}).filter(Boolean).join(``)}</div>`;if(n&&typeof n==`object`&&!Array.isArray(n)){let t=Object.entries(n).map(([t,n])=>{let i=r(n);return i?`<div class="bk-kv-entry"><dt class="bk-kv-key">${e(t)}</dt><dd class="bk-kv-value">${e(i)}</dd></div>`:``}).filter(Boolean).join(``);return t?`<dl class="bk-kv">${t}</dl>`:``}if(typeof n==`number`||typeof n==`boolean`)return`<p class="bk-paragraph">${e(String(n))}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(n,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(n))}</pre>`}}function Tr(t){let n=String(t??``);if(n.trimStart().startsWith(`<`))return`<div class="bk-markdown">${n}</div>`;let r=[],i=[],a=!1,o=[],s=``,c=()=>{if(i.length===0)return;let e=i.map(e=>Er(e)).join(`<br>`);r.push(`<p>${e}</p>`),i.length=0},l=()=>{if(!a||o.length===0)return;let t=s?` class="${e(s)}"`:``,n=o.join(`
|
|
2749
|
+
`);r.push(`<pre class="bk-code"><code${t}>${e(n)}</code></pre>`),o=[],s=``};for(let t of n.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){a?(l(),a=!1):(c(),a=!0,s=n.slice(3).trim(),o=[]);continue}if(a){o.push(t);continue}if(!n){c();continue}let u=n.match(/^(#{1,4})\s+(.+)$/);if(u){c();let[,t,n]=u,i=t.length;r.push(`<h${i} class="bk-heading bk-heading--${i}">${e(n)}</h${i}>`);continue}if(/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/.test(n)){c(),r.push(`<hr>`);continue}i.push(t)}return c(),a&&l(),`<div class="bk-markdown">${r.join(``)}</div>`}function Er(t){return e(String(t??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${/^(https?:|mailto:|#)/i.test(n.trim())?n.trim():`#`}">${t}</a>`)}var Dr=class{templates=new Map;register(e){this.templates.set(e.id,e)}get(e){let t=this.templates.get(e);if(t)return t;let n=e.includes(`@`)?e:`${e}@`,r,i=-1;for(let[e,t]of this.templates){if(!e.startsWith(n))continue;let a=Number.parseInt(e.split(`@`)[1]??`0`,10);a>i&&(i=a,r=t)}return r}has(e){return this.get(e)!==void 0}list(){return[...this.templates.values()]}},Or=[`mcp-app`,`browser`];function z(e){return typeof e==`object`&&!!e}function kr(e){return Array.isArray(e)?e.flatMap(e=>!z(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var Ar={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=z(e)&&typeof e.title==`string`?e.title:void 0,r=z(e)?kr(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Or},jr=[`mcp-app`,`browser`,`export`];function B(e){return typeof e==`object`&&!!e}function Mr(e){return B(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Nr(e){return B(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Pr(e){return Array.isArray(e)?e.filter(B):[]}function Fr(e,t){if(Array.isArray(e)){let t=e.filter(Nr);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Ir={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=B(e)?Pr(e.rows):[],n=B(e)?Fr(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(B(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Mr);t.length>0&&a.push({type:`metrics`,value:t})}return a.push({type:`table`,columns:n,headers:r,rows:i,value:{headers:r,rows:i}}),a},hydration:[`table`],supportedTransports:jr},Lr=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function Rr(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function zr(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Rr(e.changes)}]):[]}function Br(e){return!V(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!V(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:zr(e.hunks)}])}function Vr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Hr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${Vr(e.type)}${e.content}`)]).join(`
|
|
2750
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Ur={id:`diff-view@1`,label:`Diff View`,description:`Static diff summary rendered as per-file diff code blocks.`,inputSchema:{type:`object`,properties:{files:{type:`array`,items:{type:`object`,required:[`path`,`status`,`additions`,`deletions`,`hunks`],properties:{path:{type:`string`},status:{type:`string`},additions:{type:`number`},deletions:{type:`number`},hunks:{type:`array`,items:{type:`object`,required:[`header`,`changes`],properties:{header:{type:`string`},changes:{type:`array`,items:{type:`object`,required:[`type`,`content`],properties:{type:{type:`string`},content:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`files`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>Br(e).flatMap(Hr),hydration:[],supportedTransports:Lr},Wr=[`mcp-app`,`browser`,`export`];function Gr(e){return typeof e==`object`&&!!e}function Kr(e){return Gr(e)&&typeof e.type==`string`}function qr(e){return Array.isArray(e)&&e.every(Kr)}function Jr(e){if(!Gr(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!Gr(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||qr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Yr(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}var Xr={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Jr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Yr(e));return n},hydration:[],supportedTransports:Wr},Zr=[`mcp-app`,`browser`,`export`];function Qr(e){return typeof e==`object`&&!!e}function $r(e){return Qr(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}var ei={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=$r(e),n=[{type:`heading`,value:`Error`},{type:`code`,title:t.code,language:`text`,value:t.details?`${t.message}\n\n${t.details}`:t.message}];return t.stack&&n.push({type:`code`,title:`Stack Trace`,language:`text`,value:t.stack}),n},hydration:[],supportedTransports:Zr};function H(e){return typeof e==`object`&&!!e}function ti(e){return Array.isArray(e)?e.flatMap(e=>!H(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||H(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}var ni={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:H(e)&&typeof e.title==`string`?e.title:`Form`,fields:H(e)?ti(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]},ri=[`mcp-app`,`browser`];function ii(e){return typeof e==`object`&&!!e}function ai(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!ii(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function oi(e){return Array.isArray(e)?e.flatMap(e=>!ii(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function si(e){return ii(e)?{categories:ai(e.categories),items:oi(e.items)}:{items:[]}}function ci(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function li(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(ci)}]}var ui={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=si(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=li(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=li(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(ci)}),n},hydration:[`picker`],supportedTransports:ri},di=[`mcp-app`,`browser`,`export`];function U(e){return typeof e==`object`&&!!e}function fi(e){return U(e)&&typeof e.type==`string`}function pi(e){return Array.isArray(e)&&e.every(fi)}function mi(e){return U(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function hi(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||pi(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function gi(e){return Array.isArray(e)?e.flatMap(e=>U(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function _i(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function vi(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}var yi={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:U(e)&&typeof e.title==`string`?e.title:`Report`,metrics:U(e)&&Array.isArray(e.metrics)?e.metrics.filter(mi):void 0,sections:U(e)?hi(e.sections):[],tables:U(e)?gi(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(..._i(e));for(let e of t.tables??[])n.push(vi(e));return n},hydration:[],supportedTransports:di},bi=[`mcp-app`,`browser`];function W(e){return typeof e==`object`&&!!e}function xi(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Si(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=W(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function Ci(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}var wi={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!W(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=xi(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Si(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(W(a)){let e=Ci(a.options);e.length>0&&t.push({type:`approval`,value:{prompt:typeof a.prompt==`string`?a.prompt:``,options:e,requireComment:typeof a.requireComment==`boolean`?a.requireComment:!1}})}let o=typeof e.comment==`string`?e.comment:void 0;return o&&t.push({type:`markdown`,value:o}),t},hydration:[`checklist`],supportedTransports:bi},Ti=[`mcp-app`,`browser`,`export`];function Ei(e){return typeof e==`object`&&!!e}function Di(e){return Array.isArray(e)?e.flatMap(e=>{if(!Ei(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!Ei(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function Oi(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var ki={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Ei(e)?Di(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Oi(e.items)});return n},hydration:[],supportedTransports:Ti},Ai=[`mcp-app`,`browser`,`export`];function ji(e){return typeof e==`object`&&!!e}function Mi(e){return Array.isArray(e)?e.flatMap(e=>!ji(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}function Ni(e){return Array.isArray(e)?{entries:Mi(e)}:ji(e)?{entries:Mi(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var G={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},Pi={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[G,{type:`object`,properties:{title:{type:`string`},entries:G,events:G,items:G},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Ni(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Ai},Fi=[`mcp-app`,`browser`,`export`];function Ii(e){return typeof e==`object`&&!!e}function Li(e){return Ii(e)&&typeof e.label==`string`}function Ri(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Li).map(Ri):[]}}function zi(e){if(!Ii(e))return{};let t=e.root;return Li(t)?Ri(t):Ii(t)?t:e}var Bi={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:zi(e)}],hydration:[`tree`],supportedTransports:Fi},K=new Dr;K.register(wi),K.register(Ar),K.register(Ur),K.register(Xr),K.register(ui),K.register(yi),K.register(Pi),K.register(Bi),K.register(Ir),K.register(ei),K.register(ni),K.register(ki);var Vi=3e3,Hi=2e3;function q(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},Vi));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},Hi)}function Ui(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),q(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),q(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),q(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),q(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var Wi=`
|
|
2555
2751
|
.bk-checklist-progress {
|
|
2556
2752
|
margin-bottom: var(--dt-space-3);
|
|
2557
2753
|
color: var(--dt-text-secondary);
|
|
@@ -2565,7 +2761,7 @@ ${c}
|
|
|
2565
2761
|
margin: 0;
|
|
2566
2762
|
accent-color: var(--dt-accent-fg);
|
|
2567
2763
|
}
|
|
2568
|
-
`;function ji(e){let t=e.createElement(`style`);return t.textContent=Ai,t}function Mi(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 Ni(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=ji(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=Mi(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 Mi(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 Pi=`data-sort-label`,Fi=`data-sort-dir`,Ii=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function Li(e){let t=e.getAttribute(Pi);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(Pi,n),n}function Ri(e,t,n){for(let[r,i]of e.entries())i.textContent=Li(i),r===t?(i.setAttribute(Fi,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(Fi)}function zi(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function Bi(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=Ii.compare(zi(e,t),zi(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)}Ri(t,a,o)};for(let[e,n]of t.entries()){Li(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=Li(e),e.removeAttribute(Fi),e.removeAttribute(Pi),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function Vi(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function Hi(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return Vi(n);n=n.parentElement}return null}function Ui(e){return Array.from(e.querySelectorAll(`summary`))}function Y(e){return e.open||e.hasAttribute(`open`)}function Wi(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function Gi(e,t){e.textContent=t.every(e=>Y(e))?`Collapse all`:`Expand all`}function Ki(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!Y(e));for(let n of t)Wi(n,e);Gi(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{Gi(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=Ui(e).map(t=>{t.tabIndex=0;let n=n=>{let r=Ui(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!Y(a))Wi(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&Y(a)?Wi(a,!1):Hi(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return Gi(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 qi(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,Bi(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Ki(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,Ni(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,ki(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var Ji=`aikit-report-theme`,Yi=e,Xi=t,Zi=`aikit-report-block-styles`,Qi=`<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>`,$i=`<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 ea(e){if(e.getElementById(Zi))return;let t=e.createElement(`style`);t.id=Zi,t.textContent=qn(),e.head.appendChild(t)}function ta(e){return e.flatMap(e=>na(e))}function na(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)?ta(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}]:[],...ta(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 ra(e,t,n,r){ea(r),e.innerHTML=mr(ta(t),{mode:`standalone`,theme:n}),qi({container:e})}function ia(e){return e??(typeof window<`u`?window.localStorage:void 0)}function aa(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function oa(e){return e===`light`||e===`dark`?e:null}function sa(e=document,t,n){let r=oa(ia(t)?.getItem(`aikit-report-theme`))??(aa(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function ca(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(Ji,t),t}function la(e,t){return ca(e,(oa(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function ua(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 da(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?Qi:$i}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 fa(e,t){return ir({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 pa(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&&pa(i,a,n)}}async function ma(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()}),pa(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 ha(e,t,n={}){let r=n.document??e.ownerDocument??document,i=ia(n.storage),a=oa(r.documentElement.getAttribute(`data-theme`))??sa(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=fa(t,s),u=ar({generatedAt:ua(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="${Xi(e.href)}">${Yi(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||!_)&&(da(g,a),ra(_,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 ma(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`,()=>da(g,la(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 ga=document.getElementById(`report-root`);if(ga){sa();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,ha(ga,e))}</script>
|
|
2764
|
+
`;function Gi(e){let t=e.createElement(`style`);return t.textContent=Wi,t}function Ki(e,t){let n=t.filter(e=>e.getAttribute(`data-checked`)===`true`).length,r=t.length;return e.textContent=`${n}/${r} complete`,{complete:n,total:r}}function qi(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=Gi(r),a=r.createElement(`div`);a.className=`bk-checklist-progress`,e.parentElement?.insertBefore(a,e),r.head?.appendChild(i);let o=[];for(let[e,i]of n.entries()){let s=i.querySelector(`.bk-checklist-icon`),c=i.querySelector(`.bk-checklist-label`)?.textContent?.trim()??``,l=r.createElement(`input`);l.type=`checkbox`,l.className=`bk-checklist-box`,l.checked=i.getAttribute(`data-checked`)===`true`;let u=()=>{i.setAttribute(`data-checked`,String(l.checked));let r=Ki(a,n);t.onAction?.(`checklist`,JSON.stringify({index:e,label:c,checked:l.checked,complete:r.complete,total:r.total}))};l.addEventListener(`change`,u),o.push(()=>{l.removeEventListener(`change`,u)}),s?s.replaceWith(l):i.insertBefore(l,i.firstChild)}return Ki(a,n),()=>{for(let e of o)e();a.remove(),i.remove();for(let e of n){let t=e.querySelector(`.bk-checklist-box`);if(!t)continue;let n=r.createElement(`span`);n.className=`bk-checklist-icon`,n.textContent=e.getAttribute(`data-checked`)===`true`?`✓`:`×`,t.replaceWith(n)}}}var Ji=`data-sort-label`,Yi=`data-sort-dir`,Xi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function Zi(e){let t=e.getAttribute(Ji);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(Ji,n),n}function Qi(e,t,n){for(let[r,i]of e.entries())i.textContent=Zi(i),r===t?(i.setAttribute(Yi,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(Yi)}function $i(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function ea(e){let t=Array.from(e.querySelectorAll(`thead th`)),n=e.querySelector(`tbody`);if(!n||t.length===0)return()=>{};let r=Array.from(n.querySelectorAll(`tr`)),i=e.parentElement,a=null,o=`asc`,s=``,c=null,l=[],u=()=>{let e=[...r];if(a!==null){let t=a;e.sort((e,n)=>{let r=Xi.compare($i(e,t),$i(n,t));return o===`asc`?r:-r})}for(let t of e){n.appendChild(t);let e=t.textContent?.toLowerCase()??``;t.hidden=s.length>0&&!e.includes(s)}Qi(t,a,o)};for(let[e,n]of t.entries()){Zi(n);let t=()=>{a===e?o=o===`asc`?`desc`:`asc`:(a=e,o=`asc`),u()};n.style.cursor=`pointer`,n.addEventListener(`click`,t),l.push(()=>{n.removeEventListener(`click`,t)})}if(r.length>5&&i){c=i.ownerDocument.createElement(`input`),c.className=`bk-table-filter`,c.placeholder=`Filter...`;let t=()=>{s=c?.value.toLowerCase().trim()??``,u()};i.insertBefore(c,e),c.addEventListener(`input`,t),l.push(()=>{c?.removeEventListener(`input`,t),c?.remove(),c=null})}return u(),()=>{for(let e of l)e();for(let e of t)e.textContent=Zi(e),e.removeAttribute(Yi),e.removeAttribute(Ji),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function ta(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function na(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return ta(n);n=n.parentElement}return null}function ra(e){return Array.from(e.querySelectorAll(`summary`))}function J(e){return e.open||e.hasAttribute(`open`)}function Y(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function ia(e,t){e.textContent=t.every(e=>J(e))?`Collapse all`:`Expand all`}function aa(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!J(e));for(let n of t)Y(n,e);ia(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{ia(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=ra(e).map(t=>{t.tabIndex=0;let n=n=>{let r=ra(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!J(a))Y(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&J(a)?Y(a,!1):na(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return ia(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var X=`data-hydrated`;function Z(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Q(e,t,n){e.push(()=>{n(),t.removeAttribute(X)})}function oa(e={}){let t=e.container??document.body,n=[];for(let e of Z(t,`.bk-table`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,ea(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,aa(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,qi(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,Ui(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var sa=`aikit-report-theme`,ca=e,la=t,ua=`aikit-report-block-styles`,da=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>`,fa=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`;function pa(e){if(e.getElementById(ua))return;let t=e.createElement(`style`);t.id=ua,t.textContent=nr(),e.head.appendChild(t)}function ma(e){return e.flatMap(e=>ha(e))}function ha(e){if(e.type===`section`)return[{...e,type:`heading`,level:Number(e.level)||2,value:e.value??e.title}];if(e.type===`stacked-bar`){let t=Array.isArray(e.segments)?e.segments:[];return[{type:`progress`,title:e.title,value:t.map(e=>{let t=e;return{label:String(t.label??``),value:Number(t.percent)||0,max:100,color:t.color}})}]}if(e.type===`summary`){let t=Array.isArray(e.children)?ma(e.children):[];return[...e.title?[{type:`heading`,id:e.id,level:Number(e.level)||2,value:e.title}]:[],...t]}return e.type===`grid`?(Array.isArray(e.children)?e.children:[]).flatMap(e=>{let t=e;return[...t.title?[{type:`heading`,level:3,value:t.title}]:[],...ma(Array.isArray(t.blocks)?t.blocks:[])]}):e.type===`chart`&&e.value===void 0?[{...e,value:{chartType:e.chartType,data:e.data,xKey:e.xKey,yKeys:e.yKeys}}]:e.type===`progress`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:e.type===`table`&&e.value===void 0&&(e.headers||e.rows)?[{...e,value:{headers:e.headers,rows:e.rows}}]:e.type===`tags`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:[e]}function ga(e,t,n,r){pa(r),e.innerHTML=Cr(ma(t),{mode:`standalone`,theme:n}),oa({container:e})}function _a(e){return e??(typeof window<`u`?window.localStorage:void 0)}function va(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function ya(e){return e===`light`||e===`dark`?e:null}function ba(e=document,t,n){let r=ya(_a(t)?.getItem(`aikit-report-theme`))??(va(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function xa(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(sa,t),t}function Sa(e,t){return xa(e,(ya(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function Ca(e){if(!e)return new Date().toLocaleString();let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function wa(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?da:fa}function $(e,t,n=!1){let r=e.querySelector(`.aikit-toolbox-toggle`),i=e.querySelector(`.aikit-toolbox-menu`);!r||!i||(i.hidden=!t,r.setAttribute(`aria-expanded`,String(t)),t?e.querySelector(`.aikit-toolbox-item`)?.focus():n&&r.focus())}function Ta(e,t){return pr({title:e.title||`Report`,subtitle:e.subtitle,transport:`browser`,actionsHtml:t?`<button class="report-menu-toggle" type="button" aria-expanded="false">Sections</button>`:void 0})}function Ea(e,t,n){let r=n.getComputedStyle(e),i=Array.from(r).map(e=>`${e}:${r.getPropertyValue(e)}${r.getPropertyPriority(e)?` !important`:``};`).join(``);t.setAttribute(`style`,i);for(let r=0;r<e.children.length;r+=1){let i=e.children[r],a=t.children[r];i&&a&&Ea(i,a,n)}}async function Da(e){let t=e.defaultView;if(!t)throw Error(`Window unavailable`);let n=Math.max(e.documentElement.scrollWidth,e.documentElement.clientWidth,e.body?.scrollWidth??0),r=Math.max(e.documentElement.scrollHeight,e.documentElement.clientHeight,e.body?.scrollHeight??0),i=t.devicePixelRatio||1,a=e.createElement(`canvas`);a.width=Math.max(1,Math.ceil(n*i)),a.height=Math.max(1,Math.ceil(r*i));let o=a.getContext(`2d`);if(!o)throw Error(`Canvas context unavailable`);o.scale(i,i);let s=e.documentElement.cloneNode(!0);if(!(s instanceof Element))throw Error(`Document clone failed`);s.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),s.querySelectorAll(`script`).forEach(e=>{e.remove()}),Ea(e.documentElement,s,t);let c=[`<svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}">`,`<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(s)}</foreignObject>`,`</svg>`].join(``),l=new Blob([c],{type:`image/svg+xml;charset=utf-8`}),u=t.URL.createObjectURL(l);try{await new Promise((e,i)=>{let a=new t.Image;a.onload=()=>{o.drawImage(a,0,0,n,r),e()},a.onerror=()=>i(Error(`ForeignObject render failed`)),a.src=u})}finally{t.URL.revokeObjectURL(u)}let d=await new Promise(e=>a.toBlob(e,`image/png`));if(!d)throw Error(`PNG export failed`);let f=t.URL.createObjectURL(d),p=e.createElement(`a`),m=new Date().toISOString().replace(/[.:]/g,`-`);p.href=f,p.download=`aikit-screenshot-${m}.png`,e.body?.appendChild(p),p.click(),p.remove(),t.URL.revokeObjectURL(f)}function Oa(e,t,n={}){let r=n.document??e.ownerDocument??document,i=_a(n.storage),a=ya(r.documentElement.getAttribute(`data-theme`))??ba(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ta(t,s),u=mr({generatedAt:Ca(t.timestamp??t.generatedAt),badge:t.badge});e.innerHTML=`<div class="report-shell"><div class="report-header-shell">${l}</div><div class="report-body${s?` has-sidebar`:``}">${s?`<aside class="report-sidebar"><nav class="report-sidebar__nav" aria-label="Report sections">${c.map(e=>`<a class="report-sidebar__link" href="${la(e.href)}">${ca(e.label)}</a>`).join(``)}</nav></aside>`:``}<main class="report-main"><div class="report-main__content"></div></main></div><div class="report-footer-shell">${u}</div><button class="report-overlay" type="button" aria-label="Close navigation"${s?``:` hidden`}></button></div>`;let d=e.querySelector(`.report-shell`),f=e.querySelector(`.report-menu-toggle`),p=e.querySelector(`.report-overlay`),m=e.querySelector(`.aikit-toolbox-toggle`),h=e.querySelector(`.aikit-toolbox-item`),g=e.querySelector(`.aikit-theme-toggle`),_=e.querySelector(`.report-main__content`);if(!(!d||!g||!_)&&(wa(g,a),ga(_,t.blocks,a,r),o&&(o.screenshotPage=async()=>{let t=o.scrollX,n=o.scrollY;$(e,!1),o.scrollTo(0,0),await new Promise(e=>o.requestAnimationFrame(()=>e()));try{await Da(r)}finally{o.scrollTo(t,n)}}),m?.addEventListener(`click`,()=>{$(e,!!e.querySelector(`.aikit-toolbox-menu`)?.hidden)}),m?.addEventListener(`keydown`,t=>{(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e,!0))}),h?.addEventListener(`click`,()=>{o?.screenshotPage?.()}),g.addEventListener(`click`,()=>wa(g,Sa(r,i))),f?.addEventListener(`click`,()=>{let e=!d.classList.contains(`is-sidebar-open`);d.classList.toggle(`is-sidebar-open`,e),f.setAttribute(`aria-expanded`,e?`true`:`false`)}),r.addEventListener(`click`,t=>{let n=e.querySelector(`.aikit-toolbox`),r=t.target;n&&r&&n.contains(r)||$(e,!1)}),p?.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)}),s)){for(let t of e.querySelectorAll(`.report-sidebar__link`))t.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)});r.addEventListener(`keydown`,t=>{t.key===`Escape`&&($(e,!1,!0),d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`))})}}var ka=document.getElementById(`report-root`);if(ka){ba();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Oa(ka,e))}</script>
|
|
2569
2765
|
<style rel="stylesheet" crossorigin>:root{--dt-bg-canvas:#0c0c0f;--dt-bg-primary:#131316;--dt-bg-secondary:#1c1c21;--dt-bg-tertiary:#25252b;--dt-text-primary:#f0efe7;--dt-text-secondary:#a8a69e;--dt-text-tertiary:#6b6a65;--dt-border-default:#2a2a30;--dt-border-muted:#35353c;--dt-border-subtle:#1f1f24;--dt-glass-bg:#131316b8;--dt-glass-blur:16px;--dt-glass-border:#ffffff0f;--dt-glass-hover-border:#45c8a814;--dt-glass-shadow:0 0 0 1px #ffffff0a, 0 2px 8px #00000040, 0 8px 32px #00000026;--dt-accent-fg:#45c8a8;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#45c8a84d;--dt-accent-subtle:#45c8a81a;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#2bd47c;--dt-success-emphasis:#22b86b;--dt-success-muted:#2bd47c4d;--dt-success-subtle:#2bd47c1a;--dt-danger-fg:#f56a6a;--dt-danger-emphasis:#e54848;--dt-danger-muted:#f56a6a4d;--dt-danger-subtle:#f56a6a1a;--dt-warning-fg:#f5b342;--dt-warning-emphasis:#e89e2e;--dt-warning-muted:#f5b3424d;--dt-warning-subtle:#f5b3421a;--dt-info-fg:#6baef8;--dt-info-emphasis:#5090e8;--dt-info-muted:#6baef84d;--dt-info-subtle:#6baef81a;--dt-purple-fg:#c89bff;--dt-purple-emphasis:#b07ef0;--dt-purple-muted:#c89bff4d;--dt-purple-subtle:#c89bff1a;--dt-agent-researcher:#818cf8;--dt-agent-implementer:#34d399;--dt-agent-frontend:#f472b6;--dt-agent-reviewer:#fbbf24;--dt-agent-debugger:#f87171;--dt-agent-security:#fb923c;--dt-agent-explorer:#38bdf8;--dt-agent-documenter:#c084fc;--dt-agent-refactor:#2dd4bf;--dt-agent-planner:#a78bfa;--dt-agent-orchestrator:#94a3b8;--dt-status-pending:#94a3b8;--dt-status-in-progress:#60a5fa;--dt-status-done:#4ade80;--dt-status-blocked:#f87171;--dt-font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--dt-font-mono:"JetBrains Mono", "Geist Mono", "Fira Code", "SF Mono", Consolas, monospace;--dt-font-size-xs:.75rem;--dt-font-size-sm:.8125rem;--dt-font-size-base:.875rem;--dt-font-size-lg:1rem;--dt-font-size-xl:1.25rem;--dt-font-size-2xl:1.5rem;--dt-font-size-3xl:2rem;--dt-font-size-4xl:2.5rem;--dt-space-1:.25rem;--dt-space-2:.5rem;--dt-space-3:.75rem;--dt-space-4:1rem;--dt-space-5:1.25rem;--dt-space-6:1.5rem;--dt-space-8:2rem;--dt-space-10:2.5rem;--dt-space-12:3rem;--dt-radius-xs:4px;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-radius-pill:999px;--dt-shadow-sm:0 0 0 1px #ffffff05, 0 1px 3px #0000004d;--dt-shadow-md:0 0 0 1px #ffffff08, 0 2px 6px #00000059, 0 4px 12px #0003;--dt-shadow-lg:0 0 0 1px #ffffff0a, 0 2px 8px #0006, 0 8px 32px #00000040;--dt-glow-primary:radial-gradient(circle at 50% 50%, #45c8a81f, #6baef80d 45%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #c89bff0f, transparent 50%);--dt-glow-accent:#45c8a859;--dt-glow-success:#2bd47c59;--dt-glow-danger:#f56a6a59;--dt-glow-warning:#f5b34259;--dt-glow-info:#6baef859;--dt-glow-purple:#c89bff59;--dt-annotation-comment:#45c8a8;--dt-annotation-comment-bg:#45c8a826;--dt-annotation-deletion:#f56a6a;--dt-annotation-deletion-bg:#f56a6a26;--dt-annotation-hover:#ffffff0a;--dt-transition-fast:.12s cubic-bezier(.25, .46, .45, .94);--dt-transition-normal:.2s cubic-bezier(.25, .46, .45, .94);--dt-transition-slow:.3s cubic-bezier(.16, 1, .3, 1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-canvas:#f5f4ee;--dt-bg-primary:#faf9f4;--dt-bg-secondary:#f0efe8;--dt-bg-tertiary:#fff;--dt-text-primary:#1a1a17;--dt-text-secondary:#6b6a65;--dt-text-tertiary:#a8a69e;--dt-border-default:#e3e2da;--dt-border-muted:#d6d5cd;--dt-border-subtle:#eeede6;--dt-glass-bg:#faf9f4c7;--dt-glass-border:#0000000f;--dt-glass-hover-border:#0f8f7a14;--dt-glass-shadow:0 0 0 1px #00000005, 0 2px 8px #0000000a, 0 8px 24px #00000008;--dt-accent-fg:#0f8f7a;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#0f8f7a33;--dt-accent-subtle:#0f8f7a12;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#16a34a;--dt-success-emphasis:#15803d;--dt-success-muted:#16a34a33;--dt-success-subtle:#16a34a12;--dt-danger-fg:#dc2626;--dt-danger-emphasis:#b91c1c;--dt-danger-muted:#dc262633;--dt-danger-subtle:#dc262612;--dt-warning-fg:#d97706;--dt-warning-emphasis:#b45309;--dt-warning-muted:#d9770633;--dt-warning-subtle:#d9770612;--dt-info-fg:#2563eb;--dt-info-emphasis:#1d4ed8;--dt-info-muted:#2563eb33;--dt-info-subtle:#2563eb12;--dt-purple-fg:#7c3aed;--dt-purple-emphasis:#6d28d9;--dt-purple-muted:#7c3aed33;--dt-purple-subtle:#7c3aed12;--dt-shadow-sm:0 0 0 1px #00000005, 0 1px 3px #0000000f;--dt-shadow-md:0 0 0 1px #00000008, 0 2px 6px #0000000d, 0 4px 12px #00000008;--dt-shadow-lg:0 0 0 1px #00000008, 0 2px 8px #0000000f, 0 8px 32px #0000000a;--dt-glow-primary:radial-gradient(circle at 50% 50%, #0f8f7a12, #c89bff08 50%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #f5b3420d, transparent 50%);--dt-annotation-comment:#0f8f7a;--dt-annotation-comment-bg:#0f8f7a1a;--dt-annotation-deletion:#dc2626;--dt-annotation-deletion-bg:#dc26261a;--dt-annotation-hover:#0000000a;--dt-glow-accent:#0f8f7a59;--dt-glow-success:#16a34a59;--dt-glow-danger:#dc262659;--dt-glow-warning:#d9770659;--dt-glow-info:#2563eb59;--dt-glow-purple:#7c3aed59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.aikit-header,.aikit-toolbox-menu,.aikit-copy-status,.aikit-footer{--aikit-background:var(--background,var(--dt-bg-primary));--aikit-foreground:var(--foreground,var(--dt-text-primary));--aikit-muted:var(--muted,var(--dt-bg-secondary));--aikit-muted-foreground:var(--muted-foreground,var(--dt-text-secondary));--aikit-border:var(--border,var(--dt-border-default));--aikit-accent:var(--accent,var(--dt-accent-subtle));--aikit-accent-foreground:var(--accent-foreground,var(--dt-accent-fg));--aikit-card:var(--card,var(--dt-bg-secondary));--aikit-card-foreground:var(--card-foreground,var(--dt-text-primary));--aikit-header-min-height:3.5rem;--aikit-header-padding-x:var(--dt-space-6);--aikit-header-padding-y:var(--dt-space-2);--aikit-header-gap:var(--dt-space-4);--aikit-header-actions-gap:var(--dt-space-2);--aikit-header-min-height-mobile:3rem;--aikit-header-padding-x-mobile:var(--dt-space-4);--aikit-header-padding-y-mobile:var(--dt-space-2);--aikit-header-gap-mobile:var(--dt-space-2);--aikit-header-actions-gap-mobile:var(--dt-space-1);--aikit-footer-padding:var(--dt-space-6) var(--dt-space-6) var(--dt-space-8);--aikit-footer-padding-mobile:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);--aikit-footer-padding-mobile-sm:var(--dt-space-4) var(--dt-space-3) var(--dt-space-6);--aikit-toolbox-menu-max-width-mobile:calc(100vw - 2rem)}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--aikit-header-gap);min-height:var(--aikit-header-min-height);padding:var(--aikit-header-padding-y) var(--aikit-header-padding-x);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 85%, transparent);-webkit-backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.aikit-header-brand,.aikit-header-actions{flex:none;min-width:0}.aikit-header-brand{color:var(--aikit-muted-foreground);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.8;align-items:center;font-weight:600;display:flex}.aikit-header-title{align-items:baseline;gap:var(--dt-space-2);flex:auto;justify-content:flex-start;min-width:0;min-height:0;display:flex}.aikit-header-title-text{min-width:0;color:var(--aikit-foreground);font-size:var(--dt-font-size-lg);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-weight:600;line-height:1.2;overflow:hidden}.aikit-header-subtitle{min-width:0;color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;line-height:1.2;overflow:hidden}.aikit-header-actions{justify-content:flex-end;align-items:center;gap:var(--aikit-header-actions-gap);min-width:max-content;display:flex}.aikit-header-actions>*{flex:none}.aikit-toolbox{position:relative}.aikit-theme-toggle,.aikit-toolbox-toggle{border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);min-width:2.75rem;height:2.75rem;color:var(--aikit-muted-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aikit-theme-toggle:hover,.aikit-toolbox-toggle:hover{background:var(--aikit-muted);color:var(--aikit-foreground);border-color:var(--aikit-border)}.aikit-theme-toggle:focus-visible,.aikit-toolbox-toggle:focus-visible,.aikit-toolbox-item:focus-visible{outline:2px solid var(--aikit-accent-foreground);outline-offset:2px}.aikit-theme-toggle-icon{transition:opacity var(--dt-transition-normal), transform var(--dt-transition-normal);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.aikit-theme-toggle-icon--sun{opacity:1;transform:scale(1)rotate(0)}.aikit-theme-toggle-icon--moon{opacity:0;transform:scale(.65)rotate(-40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--moon{opacity:1;transform:scale(1)rotate(0)}.aikit-toolbox-menu{top:calc(100% + var(--dt-space-2));gap:var(--dt-space-1);min-width:11rem;padding:var(--dt-space-2);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-lg);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--dt-shadow-lg);z-index:120;transform-origin:100% 0;animation:.15s cubic-bezier(.16,1,.3,1) aikit-menu-enter;display:grid;position:absolute;right:0}@keyframes aikit-menu-enter{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.aikit-toolbox-menu[hidden]{animation:none;display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.25rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast);background:0 0;border:1px solid #0000;display:inline-flex}.aikit-toolbox-item:hover{background:var(--aikit-muted);border-color:var(--aikit-border)}.aikit-toolbox-item svg{opacity:.7;flex:none}.aikit-copy-status{right:var(--dt-space-4);bottom:var(--dt-space-4);z-index:1000;max-width:min(28rem, calc(100vw - var(--dt-space-8)));padding:var(--dt-space-3) var(--dt-space-4);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--aikit-foreground);box-shadow:var(--dt-shadow-lg);font-size:var(--dt-font-size-sm);line-height:1.4;position:fixed}.aikit-copy-status[data-tone=error]{border-color:var(--dt-danger-muted);color:var(--dt-danger-fg)}.aikit-footer{z-index:1;padding:var(--aikit-footer-padding);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);justify-content:center;align-items:center;margin-top:auto;display:flex;position:relative}.aikit-footer-meta{justify-content:center;align-items:center;gap:var(--dt-space-2);text-align:center;flex-wrap:wrap;display:inline-flex}.aikit-footer-text{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.aikit-footer-brand{color:var(--aikit-foreground);font-family:var(--dt-font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-weight:600}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:.35rem;display:inline-flex}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header,.aikit-toolbox-menu,.aikit-copy-status{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--aikit-header-gap-mobile);padding-left:var(--aikit-header-padding-x-mobile);padding-right:var(--aikit-header-padding-x-mobile);min-height:var(--aikit-header-min-height-mobile)}.aikit-toolbox-item{min-height:2.75rem}.aikit-toolbox-menu{min-width:auto;max-width:var(--aikit-toolbox-menu-max-width-mobile);left:auto;right:0}.aikit-footer{padding:var(--aikit-footer-padding-mobile)}}@media (width<=400px){.aikit-header-actions{gap:var(--aikit-header-actions-gap-mobile)}.aikit-footer{padding:var(--aikit-footer-padding-mobile-sm)}.aikit-toolbox-menu{border-radius:var(--dt-radius-xl) var(--dt-radius-xl) 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0003}}@media (width<=320px){.aikit-header{padding-left:var(--dt-space-2);padding-right:var(--dt-space-2)}.aikit-header-title-text{font-size:var(--dt-font-size-base)}.aikit-header-subtitle{font-size:var(--dt-font-size-xs)}.aikit-footer{padding:var(--dt-space-2) var(--dt-space-2) var(--dt-space-4);font-size:.625rem}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--dt-bg-primary);min-height:100vh;color:var(--dt-text-primary);font-family:var(--dt-font-sans);font-size:var(--dt-font-size-base);margin:0;line-height:1.6}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(circle at top right, var(--dt-accent-subtle), transparent 34%), radial-gradient(circle at bottom left, var(--dt-purple-subtle), transparent 32%)}body:after{background:linear-gradient(90deg, var(--dt-border-subtle) 1px, transparent 1px), linear-gradient(var(--dt-border-subtle) 1px, transparent 1px);background-size:var(--dt-space-16) var(--dt-space-16);opacity:.35;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}a{color:var(--dt-accent-fg);text-decoration:none}a:hover{color:var(--dt-accent-emphasis);text-decoration:underline}button,input,select,textarea{font:inherit}code,pre,kbd,samp{font-family:var(--dt-font-mono)}#report-root{min-height:100vh}.report-shell{z-index:1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.report-header-shell,.report-footer-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--dt-bg-primary) 88%, transparent)}.report-header-shell{z-index:20;border-bottom:1px solid var(--dt-border-muted);position:sticky;top:0}.report-footer-shell{border-top:1px solid var(--dt-border-muted)}.report-header-shell .aikit-header,.report-main,.report-footer-shell .aikit-footer{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);margin:0 auto}.report-header-shell .aikit-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding-left:0;padding-right:0;position:static}.report-header-shell .aikit-header-title{align-items:baseline}.report-header-shell .aikit-header-title-text{font-size:clamp(var(--dt-font-size-2xl), 3vw, var(--dt-font-size-3xl));letter-spacing:-.04em;line-height:1.05}.report-header-shell .aikit-header-subtitle{display:inline}.report-footer-shell .aikit-footer{border-top:0;min-height:64px;padding-left:0;padding-right:0}.report-menu-toggle{min-height:2.5rem;padding:0 var(--dt-space-3);border:1px solid var(--border,var(--dt-border-default));background:var(--card,var(--dt-bg-secondary));color:var(--card-foreground,var(--dt-text-primary));cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.report-menu-toggle:hover{background:var(--muted,var(--dt-bg-tertiary))}.report-menu-toggle:focus-visible{outline:2px solid var(--accent-foreground,var(--dt-accent-fg));outline-offset:2px}.report-body{grid-template-columns:minmax(0,1fr);display:grid}.report-body.has-sidebar{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);grid-template-columns:250px minmax(0,1fr);margin:0 auto}.report-sidebar{height:calc(100vh - 120px);padding:var(--dt-space-6) var(--dt-space-4) var(--dt-space-6) 0;align-self:start;position:sticky;top:92px}.report-sidebar__nav{gap:var(--dt-space-2);padding-right:var(--dt-space-4);border-right:1px solid var(--dt-border-muted);display:grid}.report-sidebar__link{color:var(--dt-text-secondary);align-items:center;display:inline-flex}.report-main{padding:var(--dt-space-8) 0}.report-body.has-sidebar .report-main{width:auto;padding-left:var(--dt-space-6);margin:0}.report-main__content{gap:var(--dt-space-6);display:grid}.report-main__content>*{min-width:0}.report-overlay{z-index:10;background:color-mix(in srgb, var(--dt-bg-canvas) 74%, transparent);opacity:0;pointer-events:none;border:0;padding:0;position:fixed;inset:0}.report-shell.is-sidebar-open .report-overlay{opacity:1;pointer-events:auto}@media (width<=1080px){.report-body.has-sidebar{grid-template-columns:minmax(0,1fr);width:auto;margin:0}.report-sidebar{inset:88px auto var(--dt-space-4) var(--dt-space-4);z-index:15;width:min(280px, calc(100vw - (var(--dt-space-4) * 2)));height:auto;transform:translateX(calc(-100% - var(--dt-space-4)));transition:transform var(--dt-transition-fast);padding:0;position:fixed}.report-sidebar__nav{padding:var(--dt-space-4);border:1px solid var(--dt-border-muted);border-right:1px solid var(--dt-border-muted);border-radius:var(--dt-radius-lg);background:var(--dt-bg-secondary);box-shadow:var(--dt-shadow-lg)}.report-shell.is-sidebar-open .report-sidebar{transform:translate(0)}.report-body.has-sidebar .report-main{padding-left:0}}@media (width<=720px){.report-header-shell .aikit-header-subtitle{display:none}}
|
|
2570
2766
|
/*$vite$:1*/</style>
|
|
2571
2767
|
</head>
|