@vpxa/aikit 0.1.365 → 0.1.367

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.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/packages/blocks-core/dist/index.mjs +245 -49
  3. package/packages/claude-desktop/dist/manifest.json +1 -1
  4. package/packages/core/dist/index.d.ts +10 -3
  5. package/packages/core/dist/index.js +1 -1
  6. package/packages/embeddings/dist/index.d.ts +2 -0
  7. package/packages/embeddings/dist/index.js +1 -1
  8. package/packages/indexer/dist/index.js +2 -2
  9. package/packages/present/dist/index.html +287 -91
  10. package/packages/server/dist/bin.js +1 -1
  11. package/packages/server/dist/index.js +1 -1
  12. package/packages/server/dist/prelude-BT_YGKcG.js +2 -0
  13. package/packages/server/dist/prelude-CHJaVPEe.js +1 -0
  14. package/packages/server/dist/sampling-CC7xHN-4.js +1 -0
  15. package/packages/server/dist/sampling-DRMRPVW6.js +2 -0
  16. package/packages/server/dist/{server-DUWF6mtP.js → server-B3Wy5oMX.js} +17 -4
  17. package/packages/server/dist/{server-Bsceh-AT.js → server-DBLXa2HM.js} +17 -4
  18. package/packages/server/dist/{server-http-BGcKUn5y.js → server-http-CytJq5BC.js} +1 -1
  19. package/packages/server/dist/{server-http-Cx4tvbmK.js → server-http-Do9kvXVq.js} +1 -1
  20. package/packages/server/dist/server-stdio-BJ7pjrh7.js +1 -0
  21. package/packages/server/dist/server-stdio-bxxYSAHg.js +2 -0
  22. package/packages/server/dist/version-check-CRvtGBDG.js +2 -0
  23. package/packages/server/dist/version-check-DNe43rCZ.js +1 -0
  24. package/packages/server/viewers/canvas.html +288 -92
  25. package/packages/server/viewers/report-template.html +258 -62
  26. package/packages/server/viewers/tour-viewer.html +260 -64
  27. package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
  28. package/scaffold/dist/definitions/skills/docs.mjs +1 -1
  29. package/scaffold/dist/definitions/skills/present.mjs +4 -72
  30. package/scaffold/dist/generated/block-docs.mjs +5 -3
  31. package/packages/server/dist/prelude-BgvW6Hp5.js +0 -2
  32. package/packages/server/dist/prelude-Di-ZDdDk.js +0 -1
  33. package/packages/server/dist/sampling-CFWUnzbA.js +0 -1
  34. package/packages/server/dist/sampling-lcC_v6KY.js +0 -2
  35. package/packages/server/dist/server-stdio-BmGuXkkF.js +0 -1
  36. package/packages/server/dist/server-stdio-C66e05P_.js +0 -2
  37. package/packages/server/dist/version-check-B6bui-YI.js +0 -1
  38. package/packages/server/dist/version-check-CZ5hY6R2.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
- `,m=`
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 h(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 g=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],_=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),v=500,y=300,ee=300,te=100,ne=30,re=`
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 Ae(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 je=`
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
- `,Me={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:`=|<>`}},Ne={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function Pe(e){return e?Me[Ne[e.toLowerCase()]??e.toLowerCase()]??null:null}function O(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===Me.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 Fe={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 Ie(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=Fe[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 Le(t,n){let r=Pe(n);if(!r)return``;let i=t.split(`
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+=Ie(O(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+=Ie(O(i,r))),s+=`<span class="bk-hljs-comment">${e(t.slice(n))}</span>`,a.push(s);continue}}a.push(Ie(O(t,r)))}return a.join(`
534
- `)}var Re=`
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
- ${je}
598
- `;function ze(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?Le(o,String(t.language)):``)||e(o);return`<pre class="bk-code"><code class="${i.trim()}">${s}</code></pre>`}function Be(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 Ve(e){let t=i(e);return Array.isArray(t)?t.filter(Be):t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns.filter(Be):[]}function He(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 Ue(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 We=`
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 Ge(t,n){let r=Ve(t.value),i=He(r),a=Ue(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 Ke(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 Je(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 Ye(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 Xe(t){let n=Object.entries(t??{});return n.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${n.map(([t,n])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${e(t)}</span><strong class="bk-component-detail-metric-value">${e(String(n))}</strong></div>`).join(``)}</div></details>`}function Ze(n){let r=Array.isArray(n.codeLinks)?n.codeLinks:[];return r.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${r.map(n=>`<a class="bk-component-detail-link" href="${t(n.href)}">${e(n.label)}</a>`).join(``)}</div></details>`}var Qe=`
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 $e(t,n){let r=Ke(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??[]),Je(r.interfaces??[]),Ye(r.dependencies??[]),Xe(r.metrics),Ze(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${e(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function et(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 tt(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function nt(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 rt(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 it=`
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 at(t,r){let i=et(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=>nt(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${tt(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>${rt(i.indexes??[])}</section>`}var k=`
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
- `,ot={frontend:`🖥️`,backend:`⚙️`,database:`🗄️`,storage:`💾`,cloud:`☁️`,external:`🔗`,security:`🔒`,messagebus:`📨`,person:`👤`,actor:`👤`,system:`🏛️`,"start-end":`●`,automated:`🤖`,manual:`👆`,decision:`🔀`,branch:`🔀`,infrastructure:`📦`},st=`📋`;function ct(e){return ot[e]??st}var lt={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)`},ut={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:`))`}},dt={open:`[`,close:`]`};function ft(e){return ut[e]??dt}function A(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function j(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 M(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=pt(r.components??r.nodes??r.participants??r.states??[]),l=pt(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=A(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=ct(r),a=e.technology?`<br><small>${j(String(e.technology))}</small>`:``,o=lt[r]??`fill:var(--dt-bg-secondary,#1e293b)`,s=ft(r),c=`${i} ${j(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=A(t),i=A(n);if(!d.has(r)||!d.has(i))continue;let a=e.label?` -- "${j(String(e.label))}" --> `:` --> `;u.push(` ${r}${a}${i}`)}let m=d.size>0,h=u.join(`
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 pt(e){return Array.isArray(e)?e:[]}var mt=`
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 ht(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 gt(t.before,t.after)}return``}function gt(e,t){let n=e.split(`
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 _t(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 vt(t,n){let r=ht(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
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}=_t(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 yt(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var bt=`
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 xt(t,n){return`<div class="bk-docs-browser">${yt(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 St(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 Ct(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function wt(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="${Ct(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 Tt=`
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 Et(t,n){let r=St(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=>wt(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Dt(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 Ot=`
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 kt(t,n){let r=Dt(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 At(e){return typeof e==`object`&&!!e}function N(e){return At(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(N).filter(e=>e!==null):[]}:null}function jt(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 Mt(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var Nt=`
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 Pt(t,n){let r=i(t.value);if(!At(r))return`<div class="bk-flame"></div>`;let a=At(r.profile)?N(r.profile):N(r);if(!a)return`<div class="bk-flame"></div>`;let o=jt(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:${Mt(n)}" title="${o}" data-has-children="${a}">
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 Ft(e){return String(e??``).replace(/"/g,`\\"`)}var It=`
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 Lt(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=Ft(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?`|${Ft(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
1639
- `))}</pre>`}var Rt=`
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 zt(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 Bt(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 Vt=`
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 Ht(e,t){return`<dl class="bk-kv">${Bt(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 Ut=164,Wt=84,Gt=44,Kt=32,qt=28;function Jt(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 Yt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function Xt(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 Zt(e){return e.type===`decision`?{width:112,height:112}:{width:Ut,height:Wt}}function Qt(e){let t=Kt;return e.map(e=>{let{width:n,height:r}=Zt(e),i={step:e,x:t,y:qt,width:n,height:r,centerX:t+n/2,centerY:qt+r/2};return t+=n+Gt,i})}function $t(t){let r=Xt(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?Xt(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--${Yt(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function en(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 tn(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var nn=`
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 rn(t,n){let r=Jt(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=Qt(i),o=new Map(a.map(e=>[e.step.id,e])),s=tn(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+Kt);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=>en(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>$t(e)).join(``)}</g></svg></div></figure>`}var an=`
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 on(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 sn=`
1810
- ${Rt}
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
- `,cn=/^(#{1,6})\s+(.+)$/,ln=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function un(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function dn(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=un(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(`
1817
- `),r=(c?Le(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(cn);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(ln.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(`
1818
- `),r=(c?Le(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var fn=`
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 pn(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function mn(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 hn=`
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 gn(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>${mn(t.trend)}</article>`).join(``)}</div>`}var _n=`
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 vn(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function yn(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 bn=`
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 xn(t,n){return`<div class="bk-progress">${yn(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 Sn(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var Cn=`
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 wn(t,n){return`<pre class="bk-prompt">${e(Sn(t.value))}</pre>`}var Tn=`
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 En(e,t){return`<hr class="bk-separator">`}function Dn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var On=`
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 kn(t,n){return`<div class="bk-status-board">${Dn(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 An(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function jn(e){let t=(e??[]).map(e=>{if(An(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 Mn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=jn(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}=jn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var Nn=`
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 Pn(t,n){let{headers:i,keys:a,rows:o}=Mn(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 Fn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var In=`
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 Ln(t,n){return`<div class="bk-tags">${Fn(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 Rn=`
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 zn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Bn=`
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 Vn(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 P(t,n){if(Array.isArray(t)){let r=t.map(e=>P(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 P(r.children??[],i);let a=Object.entries(r).map(([e,t])=>P(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 Hn=`
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 Un(e,t){return`<div class="bk-tree">${P(i(e.value))}</div>`}var F={actions:d,cards:m,chart:re,checklist:ke,code:Re,"architecture-diagram":k,"workflow-diagram":k,"sequence-diagram":k,"dataflow-diagram":k,"lifecycle-diagram":k,diff:mt,comparison:We,"component-detail":Qe,"data-table-schema":it,"docs-browser":bt,"docs-hub":Tt,finding:Ot,"flame-graph":Nt,graph:It,heading:Rt,kv:Vt,"lifecycle-flow":nn,list:an,markdown:sn,mermaid:fn,metrics:hn,paragraph:_n,progress:bn,prompt:Cn,separator:Tn,"status-board":On,table:Nn,tags:In,text:Rn,timeline:Bn,tree:Hn},Wn=`
2349
- ${p}
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
- `,Gn=`
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 Kn(e){let t=[Wn,Gn],n=new Set;for(let r of e)!n.has(r)&&F[r]&&(n.add(r),t.push(F[r]));return t.join(`
2529
- `)}function qn(){return Kn(Object.keys(F))}var I={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`},Jn=`<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>`,Yn=`<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>`,Xn=`<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>`,Zn=`<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>`,Qn=`<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>`,$n=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:Yn,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:Xn,onclick:`downloadPng()`}];function er(t){return[` <button type="button" class="${I.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(`
2530
- `)}function tr(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${I.toolbox}">`,` <button type="button" class="${I.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${Jn}`,` </button>`,` <div id="aikit-toolbox-menu" class="${I.toolboxMenu}" role="menu" hidden>`,...r.map(e=>er(e)),` </div>`,` </div>`].join(`
2531
- `)}function nr(e){return e?.trim()?e.trim():``}function rr(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 ir(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?$n:[]),a=[nr(t.actionsHtml),tr(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${I.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${I.themeToggleIcon} ${I.themeToggleIconSun}" aria-hidden="true">${Zn}</span>`,` <span class="${I.themeToggleIcon} ${I.themeToggleIconMoon}" aria-hidden="true">${Qn}</span>`,` </button>`].join(`
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="${I.header}">`,` <div class="${I.brand}">${e(n)}</div>`,` <div class="${I.title}">`,` <span class="${I.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${I.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${I.actions}">`,a,` </div>`,` </header>`].join(`
2534
- `)}function ar(t={}){let n=rr(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${I.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${I.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${I.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${I.footerBrand}">AI KIT</span>`,o=nr(t.contentHtml),s=r?`<span class="${I.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="${I.footer}">`,` <div class="${I.footerMeta}">`,` <span class="${I.footerText}">${a}</span>`,...o?[` <span class="${I.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
2535
- `)}function or(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 sr(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}">
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 cr(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function lr(t,n){let r=or(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">
2539
- <h4 class="bk-annotation-group-title">${e(cr(t))}</h4>
2540
- <ol class="bk-annotation-list">${n.map(sr).join(``)}</ol>
2541
- </div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function ur(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function dr(t,r){let i=t.blockId?n(t.blockId):void 0,a=ur(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)}">
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 fr={actions:f,annotation:lr,approval:dr,cards:h,chart:ie,checklist:Ae,code:ze,comparison:Ge,"architecture-diagram":M,"workflow-diagram":M,"sequence-diagram":M,"dataflow-diagram":M,"lifecycle-diagram":M,diff:vt,"component-detail":$e,"data-table-schema":at,"docs-browser":xt,"docs-hub":Et,"flame-graph":Pt,finding:kt,graph:Lt,heading:zt,kv:Ht,"lifecycle-flow":rn,list:on,markdown:dn,mermaid:pn,metrics:gn,paragraph:vn,progress:xn,prompt:wn,separator:En,"status-board":kn,table:Pn,tags:Ln,text:zn,timeline:Vn,tree:Un};function pr(t,r,a){let o={...t,value:i(t.value)},s=fr[o.type],c=s?s(o,r):hr(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 mr(e,t){return e.map((e,n)=>pr(e,t,n)).join(`
2553
- `)}function hr(t){if(t.value===void 0||t.value===null)return``;if(typeof t.value==`string`)return`<p class="bk-paragraph">${e(t.value)}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(t.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(t.value))}</pre>`}}var gr=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()]}},_r=[`mcp-app`,`browser`];function vr(e){return typeof e==`object`&&!!e}function yr(e){return Array.isArray(e)?e.flatMap(e=>!vr(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var br={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=vr(e)&&typeof e.title==`string`?e.title:void 0,r=vr(e)?yr(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:_r},xr=[`mcp-app`,`browser`,`export`];function L(e){return typeof e==`object`&&!!e}function Sr(e){return L(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Cr(e){return L(e)&&typeof e.key==`string`&&typeof e.label==`string`}function wr(e){return Array.isArray(e)?e.filter(L):[]}function Tr(e,t){if(Array.isArray(e)){let t=e.filter(Cr);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Er={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=L(e)?wr(e.rows):[],n=L(e)?Tr(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(L(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Sr);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:xr},Dr=[`mcp-app`,`browser`,`export`];function R(e){return typeof e==`object`&&!!e}function Or(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function kr(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Or(e.changes)}]):[]}function Ar(e){return!R(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!R(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:kr(e.hunks)}])}function jr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Mr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${jr(e.type)}${e.content}`)]).join(`
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>