@vpxa/aikit 0.1.157 → 0.1.159

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.
@@ -1,5 +1,5 @@
1
- function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function p(e){let t=o(e);return Array.isArray(t)?t:[]}function m(e,t){return`<div class="bk-actions">${p(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}</div>`}function ee(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}function te(e,t){let r=o(e.value),i=Array.isArray(r?.data)?r.data:[],s=[String(r?.xKey??`label`),...Array.isArray(r?.yKeys)&&r.yKeys.length>0?r.yKeys:[`value`]],c=s.map(e=>`<th>${n(e)}</th>`).join(``),l=i.map(e=>`<tr>${s.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``);return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${n(String(r?.chartType??e.chartType??`chart`))}) rendered as a data table.</div><div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${c}</tr></thead><tbody>${l}</tbody></table></div></div>`}function ne(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function re(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function ie(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function ae(e,t){return`<div class="bk-comparison">${ie(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function oe(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function se(e,t){return`<div class="bk-docs-browser">${oe(e.value).map(e=>{let t=u(e.status),r=e.title?`<div class="bk-doc-title">${n(e.title)}</div>`:``,i=e.content?`<pre class="bk-doc-content">${n(e.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${n(e.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function ce(e){let t=o(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}}function le(e,t){let r=ce(e),i=u(r.severity),a=r.detail===void 0?``:s(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">${n(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${n(r.severity??`info`)}</span></div><div class="bk-finding-detail">${a}</div></article>`}function h(e){return String(e??``).replace(/"/g,`\\"`)}function ue(e,t){let r=o(e.value),a=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(e.direction??`TD`))?String(e.direction??`TD`):`TD`}`];for(let e of r?.nodes??[]){let t=i(String(e.id??e.name??`node`)),n=h(e.label??e.name??t);a.push(` ${t}["${n}"]`)}for(let e of r?.edges??[]){let t=i(String(e.from??e.source??`from`)),n=i(String(e.to??e.target??`to`)),r=e.label?`|${h(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
2
- `))}</pre>`}const g=`
1
+ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function ee(e){let t=o(e);return Array.isArray(t)?t:[]}function p(e,t){return`<div class="bk-actions">${ee(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}</div>`}function te(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}function ne(e,t){let r=o(e.value),i=Array.isArray(r?.data)?r.data:[],s=String(r?.xKey??`label`);if(i.length>0&&!(s in i[0])){let e=i[0],t=Object.keys(e).find(t=>typeof e[t]==`string`);t&&(s=t)}let c=Array.isArray(r?.yKeys)&&r.yKeys.length>0?r.yKeys:[`value`],l=[s,...c],u=l.map(e=>`<th>${n(e)}</th>`).join(``),d=i.map(e=>`<tr>${l.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``);return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${n(String(r?.chartType??e.chartType??`chart`))}) rendered as a data table.</div><div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${u}</tr></thead><tbody>${d}</tbody></table></div></div>`}function re(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function ie(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function ae(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function oe(e,t){return`<div class="bk-comparison">${ae(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function se(e){let t=o(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 ce(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${e.map(e=>`<li>${n(e)}</li>`).join(``)}</ul></details>`}function le(e){return e.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>${e.map(e=>`<tr><td class="bk-component-detail-code">${n(e.name)}</td><td class="bk-component-detail-code">${n(e.type)}</td><td>${n(e.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function ue(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${e.map(e=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${n(e.name)}</span>${e.relationship?`<span class="bk-component-detail-dependency-relationship">${n(e.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function de(e){let t=Object.entries(e??{});return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${t.map(([e,t])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${n(e)}</span><strong class="bk-component-detail-metric-value">${n(String(t))}</strong></div>`).join(``)}</div></details>`}function fe(e){let t=Array.isArray(e.codeLinks)?e.codeLinks:[];return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${t.map(e=>`<a class="bk-component-detail-link" href="${r(e.href)}">${n(e.label)}</a>`).join(``)}</div></details>`}function pe(e,t){let r=se(e.value),i=r.description?`<p class="bk-component-detail-description">${n(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${n(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${n(r.technology)}</span>`:``,s=[ce(r.responsibilities??[]),le(r.interfaces??[]),ue(r.dependencies??[]),de(r.metrics),fe(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">${n(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function me(e){let t=o(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 he(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function ge(e){return e.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${r(`#${i(e.slice(12).replace(/\./g,`_`))}`)}">${n(e)}</a>`:`<span class="bk-data-table-schema-badge${e===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${n(e)}</span>`}function _e(e){return e.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">${e.map(e=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${n(e.name)}</div><div class="bk-data-table-schema-index-columns">${n(e.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${e.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}function ve(e,t){let r=me(e.value),a=r.description?`<p class="bk-data-table-schema-description">${n(r.description)}</p>`:``;if(!Array.isArray(r.fields)||r.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${n(r.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=r.fields.map(e=>{let t=Array.isArray(e.constraints)?e.constraints:[],a=t.length>0?t.map(e=>ge(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${he(e)?` bk-data-table-schema-row--primary`:``}" id="${i(`${r.name}_${e.name}`)}"><td class="bk-data-table-schema-code">${n(e.name)}</td><td class="bk-data-table-schema-code">${n(e.type)}</td><td class="bk-data-table-schema-required">${e.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${n(e.default??`—`)}</td><td>${n(e.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">${n(r.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>${_e(r.indexes??[])}</section>`}function ye(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function be(e,t){return`<div class="bk-docs-browser">${ye(e.value).map(e=>{let t=u(e.status),r=e.title?`<div class="bk-doc-title">${n(e.title)}</div>`:``,i=e.content?`<pre class="bk-doc-content">${n(e.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${n(e.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function xe(e){let t=o(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 Se(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function Ce(e){let t=e.href?`a`:`article`,i=e.href?` href="${r(e.href)}"`:``,a=e.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${n(e.icon)}</span>`:``,o=e.description?`<p class="bk-docs-hub-card-description">${n(e.description)}</p>`:``,s=e.category?`<span class="bk-docs-hub-card-category">${n(e.category)}</span>`:``,c=e.status?`<span class="bk-docs-hub-card-status" data-tone="${Se(e.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${n(e.status)}</span>`:``;return`<${t} 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">${n(e.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${t}>`}function we(e,t){let r=xe(e.value),i=r.title?`<h4 class="bk-docs-hub-title">${n(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${n(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=>Ce(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Te(e){let t=o(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}}function Ee(e,t){let r=Te(e),i=u(r.severity),a=r.detail===void 0?``:s(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">${n(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${n(r.severity??`info`)}</span></div><div class="bk-finding-detail">${a}</div></article>`}function m(e){return String(e??``).replace(/"/g,`\\"`)}function De(e,t){let r=o(e.value),a=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(e.direction??`TD`))?String(e.direction??`TD`):`TD`}`];for(let e of r?.nodes??[]){let t=i(String(e.id??e.name??`node`)),n=m(e.label??e.name??t);a.push(` ${t}["${n}"]`)}for(let e of r?.edges??[]){let t=i(String(e.from??e.source??`from`)),n=i(String(e.to??e.target??`to`)),r=e.label?`|${m(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
2
+ `))}</pre>`}const h=`
3
3
  .bk-heading {
4
4
  margin: 0;
5
5
  color: var(--dt-text-primary);
@@ -13,16 +13,16 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
13
13
  .bk-heading--4 { font-size: var(--dt-font-size-lg); }
14
14
  .bk-heading--5,
15
15
  .bk-heading--6 { font-size: var(--dt-font-size-base); }
16
- `;function de(e,t){let r=Number(e.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${n(String(e.value??e.title??``))}</h${i}>`}const fe=`
17
- ${g}
16
+ `;function Oe(e,t){let r=Number(e.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${n(String(e.value??e.title??``))}</h${i}>`}function ke(e){let t=o(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 Ae(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function g(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 je(e){return e.type===`decision`?{width:112,height:112}:{width:164,height:84}}function Me(e){let t=32;return e.map(e=>{let{width:n,height:r}=je(e),i={step:e,x:t,y:28,width:n,height:r,centerX:t+n/2,centerY:28+r/2};return t+=n+44,i})}function Ne(e){let t=g(e.step.label,e.step.type===`decision`?12:16),r=e.step.description?g(e.step.description,e.step.type===`decision`?12:18).slice(0,1):[],a=e.centerY-(t.length+r.length-1)*18/2,o=[...t.map((t,r)=>`<text class="bk-lifecycle-flow-label" x="${e.centerX}" y="${a+r*18}">${n(t)}</text>`),...r.map((r,i)=>`<text class="bk-lifecycle-flow-description" x="${e.centerX}" y="${a+(t.length+i)*18}">${n(r)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="18" ry="18" />`;e.step.type===`start`||e.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="40" ry="40" />`:e.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${e.centerX},${e.y}`} ${`${e.x+e.width},${e.centerY}`} ${`${e.centerX},${e.y+e.height}`} ${`${e.x},${e.centerY}`}" />`);let c=e.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${e.x+18}" y1="${e.y+18}" x2="${e.x+18}" y2="${e.y+e.height-18}" /><line x1="${e.x+e.width-18}" y1="${e.y+18}" x2="${e.x+e.width-18}" y2="${e.y+e.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${e.step.type??`step`} bk-lifecycle-flow-node--${Ae(e.step.status)}" id="${i(e.step.id)}">${s}${c}${o}</g>`}function Pe(e,t){let r=t.get(e.from),i=t.get(e.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)" />`}${e.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${n(e.label)}</text>`:``}`}function Fe(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}function Ie(e,t){let r=ke(e.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=Me(i),o=new Map(a.map(e=>[e.step.id,e])),s=Fe(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+32);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${n(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${n(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=>Pe(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>Ne(e)).join(``)}</g></svg></div></figure>`}const Le=`
17
+ ${h}
18
18
  .bk-markdown {
19
19
  color: var(--dt-text-primary);
20
20
  font-size: var(--dt-font-size-base);
21
21
  line-height: 1.7;
22
22
  }
23
- `,pe=/^(#{1,6})\s+(.+)$/,me=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function he(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function ge(e,t){let r=String(e.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=he(a);e&&(i.push(e),a.length=0)};for(let e of r.split(/\r?\n/)){let t=e.trim();if(t.startsWith("```")){if(!o)l(),o=!0,c=t.slice(3).trim(),s=[];else{let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
24
- `))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(pe);if(r){l();let[,e,t]=r,a=e.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${n(t)}</h${a}>`);continue}if(me.test(t)){l(),i.push(`<hr>`);continue}a.push(e)}if(l(),o&&s.length>0){let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
25
- `))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function _e(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function ve(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function ye(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${ve(e.trend)}</article>`).join(``)}</div>`}function be(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function xe(e){let t=o(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[]}function Se(e,t){return`<div class="bk-progress">${xe(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Ce(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function we(e,t){return`<pre class="bk-prompt">${n(Ce(e.value))}</pre>`}function Te(e,t){return`<hr class="bk-separator">`}function Ee(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function De(e,t){return`<div class="bk-status-board">${Ee(e.value).map(e=>{let t=e.items.map(e=>{let t=u(e.status),r=e.description?`<div class="bk-status-description">${n(e.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${n(e.label)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${n(e.category)}</div><div class="bk-status-items">${t}</div></section>`}).join(``)}</div>`}function Oe(e){if(Array.isArray(e.columns)){let t=e.columns.map(String),n=Array.isArray(e.rows)?e.rows:[];return n.length>0&&Array.isArray(n[0])?{headers:t,rows:n.map(e=>Object.fromEntries(t.map((t,n)=>[t,e[n]??``])))}:n.length>0&&typeof n[0]==`object`&&n[0]!==null?{headers:t,rows:n}:{headers:t,rows:[]}}let t=o(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t;return{headers:Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{}),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,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,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,rows:r}}return{headers:(Array.isArray(e.headers)?e.headers:Array.isArray(e.columns)?e.columns:[]).map(String),rows:[]}}function ke(e,t){let{headers:r,rows:i}=Oe(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${i.map(e=>`<tr>${r.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function Ae(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function je(e,t){return`<div class="bk-tags">${Ae(e.value).map(e=>{let t=typeof e==`string`?e:String(e.text??e.label??``),r=u(typeof e==`string`?void 0:e.status??e.tone??e.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${n(t)}</span>`}).join(``)}</div>`}function Me(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Ne(e,t){return`<div class="bk-timeline">${f(e).map(e=>{let t=u(e.status),r=e.description?`<div class="bk-timeline-description">${n(e.description)}</div>`:``,i=e.timestamp?`<div class="bk-timeline-timestamp">${n(e.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${t}"><span class="bk-timeline-dot" style="background:${`var(--dt-${t}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${t});"></span><div class="bk-timeline-title">${n(e.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function _(e,t){if(Array.isArray(e)){let r=e.map(e=>_(e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(e&&typeof e==`object`){let r=e;if(typeof r.name==`string`)return _(r.children??[],r.name);let i=Object.entries(r).map(([e,t])=>_(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${i}</div></details>`:`<div class="bk-tree-children">${i}</div>`}let r=n(a(e));return t?`<div class="bk-tree-leaf"><span class="bk-tree-key">${n(t)}</span><span class="bk-tree-value">${r}</span></div>`:`<div class="bk-tree-leaf">${r}</div>`}function Pe(e,t){return`<div class="bk-tree">${_(o(e.value))}</div>`}const v={"--dt-bg-primary":`#ffffff`,"--dt-bg-secondary":`#f6f8fa`,"--dt-bg-tertiary":`#eaeef2`,"--dt-bg-canvas":`#f0f0f0`,"--dt-text-primary":`#1f2328`,"--dt-text-secondary":`#656d76`,"--dt-text-tertiary":`#8b949e`,"--dt-border-default":`#d0d7de`,"--dt-border-muted":`#d8dee4`,"--dt-border-subtle":`#eaeef2`,"--dt-accent-fg":`#0969da`,"--dt-accent-emphasis":`#0550ae`,"--dt-accent-muted":`rgba(9, 105, 218, 0.4)`,"--dt-accent-subtle":`rgba(9, 105, 218, 0.1)`,"--dt-success-fg":`#1a7f37`,"--dt-success-emphasis":`#116329`,"--dt-success-muted":`rgba(26, 127, 55, 0.4)`,"--dt-success-subtle":`rgba(26, 127, 55, 0.1)`,"--dt-danger-fg":`#cf222e`,"--dt-danger-emphasis":`#a40e26`,"--dt-danger-muted":`rgba(207, 34, 46, 0.4)`,"--dt-danger-subtle":`rgba(207, 34, 46, 0.1)`,"--dt-warning-fg":`#9a6700`,"--dt-warning-emphasis":`#7d4e00`,"--dt-warning-muted":`rgba(154, 103, 0, 0.4)`,"--dt-warning-subtle":`rgba(154, 103, 0, 0.1)`,"--dt-purple-fg":`#8250df`,"--dt-purple-emphasis":`#6639ba`,"--dt-purple-muted":`rgba(130, 80, 223, 0.4)`,"--dt-purple-subtle":`rgba(130, 80, 223, 0.1)`,"--dt-font-sans":`'Segoe UI', system-ui, -apple-system, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`0.75rem`,"--dt-font-size-sm":`0.8125rem`,"--dt-font-size-base":`0.875rem`,"--dt-font-size-lg":`1rem`,"--dt-font-size-xl":`1.25rem`,"--dt-font-size-2xl":`1.5rem`,"--dt-font-size-3xl":`2rem`,"--dt-space-1":`0.25rem`,"--dt-space-2":`0.5rem`,"--dt-space-3":`0.75rem`,"--dt-space-4":`1rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px rgba(0, 0, 0, 0.07)`,"--dt-shadow-md":`0 3px 6px rgba(0, 0, 0, 0.1)`,"--dt-shadow-lg":`0 8px 24px rgba(0, 0, 0, 0.12)`,"--dt-glow-accent":`rgba(9, 105, 218, 0.08)`,"--dt-glow-success":`rgba(26, 127, 55, 0.08)`,"--dt-glow-danger":`rgba(207, 34, 46, 0.08)`,"--dt-glow-warning":`rgba(154, 103, 0, 0.08)`,"--dt-glow-purple":`rgba(130, 80, 223, 0.08)`,"--dt-transition-fast":`150ms ease`,"--dt-transition-normal":`200ms ease`},y={"--dt-bg-primary":`#0d1117`,"--dt-bg-secondary":`#161b22`,"--dt-bg-tertiary":`#21262d`,"--dt-bg-canvas":`#010409`,"--dt-text-primary":`#f0f6fc`,"--dt-text-secondary":`#9198a1`,"--dt-text-tertiary":`#656d76`,"--dt-border-default":`#30363d`,"--dt-border-muted":`#21262d`,"--dt-border-subtle":`#1f242d`,"--dt-accent-fg":`#58a6ff`,"--dt-accent-emphasis":`#1f6feb`,"--dt-accent-muted":`rgba(56, 139, 253, 0.4)`,"--dt-accent-subtle":`rgba(56, 139, 253, 0.15)`,"--dt-success-fg":`#3fb950`,"--dt-success-emphasis":`#238636`,"--dt-success-muted":`rgba(63, 185, 80, 0.4)`,"--dt-success-subtle":`rgba(63, 185, 80, 0.15)`,"--dt-danger-fg":`#f85149`,"--dt-danger-emphasis":`#da3633`,"--dt-danger-muted":`rgba(248, 81, 73, 0.4)`,"--dt-danger-subtle":`rgba(248, 81, 73, 0.15)`,"--dt-warning-fg":`#d29922`,"--dt-warning-emphasis":`#bb8009`,"--dt-warning-muted":`rgba(210, 153, 34, 0.4)`,"--dt-warning-subtle":`rgba(210, 153, 34, 0.15)`,"--dt-purple-fg":`#bc8cff`,"--dt-purple-emphasis":`#a371f7`,"--dt-purple-muted":`rgba(188, 140, 255, 0.4)`,"--dt-purple-subtle":`rgba(188, 140, 255, 0.15)`,"--dt-shadow-sm":`0 1px 2px rgba(1, 4, 9, 0.35)`,"--dt-shadow-md":`0 3px 6px rgba(1, 4, 9, 0.4)`,"--dt-shadow-lg":`0 8px 24px rgba(1, 4, 9, 0.45)`,"--dt-glow-accent":`rgba(56, 139, 253, 0.14)`,"--dt-glow-success":`rgba(63, 185, 80, 0.14)`,"--dt-glow-danger":`rgba(248, 81, 73, 0.14)`,"--dt-glow-warning":`rgba(210, 153, 34, 0.14)`,"--dt-glow-purple":`rgba(188, 140, 255, 0.14)`},Fe=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-font-sans.--dt-font-mono.--dt-font-size-xs.--dt-font-size-sm.--dt-font-size-base.--dt-font-size-lg.--dt-font-size-xl.--dt-font-size-2xl.--dt-font-size-3xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-6.--dt-space-8.--dt-space-12.--dt-space-16.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple.--dt-transition-fast.--dt-transition-normal`.split(`.`),Ie=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple`.split(`.`),b={actions:`
23
+ `,Re=/^(#{1,6})\s+(.+)$/,ze=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function Be(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function Ve(e,t){let r=String(e.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=Be(a);e&&(i.push(e),a.length=0)};for(let e of r.split(/\r?\n/)){let t=e.trim();if(t.startsWith("```")){if(!o)l(),o=!0,c=t.slice(3).trim(),s=[];else{let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
24
+ `))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(Re);if(r){l();let[,e,t]=r,a=e.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${n(t)}</h${a}>`);continue}if(ze.test(t)){l(),i.push(`<hr>`);continue}a.push(e)}if(l(),o&&s.length>0){let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
25
+ `))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function He(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function Ue(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function We(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${Ue(e.trend)}</article>`).join(``)}</div>`}function Ge(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Ke(e){let t=o(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[]}function qe(e,t){return`<div class="bk-progress">${Ke(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Je(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Ye(e,t){return`<pre class="bk-prompt">${n(Je(e.value))}</pre>`}function Xe(e,t){return`<hr class="bk-separator">`}function Ze(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Qe(e,t){return`<div class="bk-status-board">${Ze(e.value).map(e=>{let t=e.items.map(e=>{let t=u(e.status),r=e.description?`<div class="bk-status-description">${n(e.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${n(e.label)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${n(e.category)}</div><div class="bk-status-items">${t}</div></section>`}).join(``)}</div>`}function $e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _(e){let t=(e??[]).map(e=>{if($e(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 et(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=_(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=o(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}=_(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function tt(e,t){let{headers:r,keys:i,rows:o}=et(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function nt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function rt(e,t){return`<div class="bk-tags">${nt(e.value).map(e=>{let t=typeof e==`string`?e:String(e.text??e.label??``),r=u(typeof e==`string`?void 0:e.status??e.tone??e.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${n(t)}</span>`}).join(``)}</div>`}function it(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function at(e,t){return`<div class="bk-timeline">${f(e).map(e=>{let t=u(e.status),r=e.description?`<div class="bk-timeline-description">${n(e.description)}</div>`:``,i=e.timestamp?`<div class="bk-timeline-timestamp">${n(e.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${t}"><span class="bk-timeline-dot" style="background:${`var(--dt-${t}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${t});"></span><div class="bk-timeline-title">${n(e.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function v(e,t){if(Array.isArray(e)){let r=e.map(e=>v(e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(e&&typeof e==`object`){let r=e;if(typeof r.name==`string`)return v(r.children??[],r.name);let i=Object.entries(r).map(([e,t])=>v(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${i}</div></details>`:`<div class="bk-tree-children">${i}</div>`}let r=n(a(e));return t?`<div class="bk-tree-leaf"><span class="bk-tree-key">${n(t)}</span><span class="bk-tree-value">${r}</span></div>`:`<div class="bk-tree-leaf">${r}</div>`}function ot(e,t){return`<div class="bk-tree">${v(o(e.value))}</div>`}const y={"--dt-bg-primary":`#ffffff`,"--dt-bg-secondary":`#f6f8fa`,"--dt-bg-tertiary":`#eaeef2`,"--dt-bg-canvas":`#f0f0f0`,"--dt-text-primary":`#1f2328`,"--dt-text-secondary":`#656d76`,"--dt-text-tertiary":`#8b949e`,"--dt-border-default":`#d0d7de`,"--dt-border-muted":`#d8dee4`,"--dt-border-subtle":`#eaeef2`,"--dt-accent-fg":`#0969da`,"--dt-accent-emphasis":`#0550ae`,"--dt-accent-muted":`rgba(9, 105, 218, 0.4)`,"--dt-accent-subtle":`rgba(9, 105, 218, 0.1)`,"--dt-success-fg":`#1a7f37`,"--dt-success-emphasis":`#116329`,"--dt-success-muted":`rgba(26, 127, 55, 0.4)`,"--dt-success-subtle":`rgba(26, 127, 55, 0.1)`,"--dt-danger-fg":`#cf222e`,"--dt-danger-emphasis":`#a40e26`,"--dt-danger-muted":`rgba(207, 34, 46, 0.4)`,"--dt-danger-subtle":`rgba(207, 34, 46, 0.1)`,"--dt-warning-fg":`#9a6700`,"--dt-warning-emphasis":`#7d4e00`,"--dt-warning-muted":`rgba(154, 103, 0, 0.4)`,"--dt-warning-subtle":`rgba(154, 103, 0, 0.1)`,"--dt-purple-fg":`#8250df`,"--dt-purple-emphasis":`#6639ba`,"--dt-purple-muted":`rgba(130, 80, 223, 0.4)`,"--dt-purple-subtle":`rgba(130, 80, 223, 0.1)`,"--dt-font-sans":`'Segoe UI', system-ui, -apple-system, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`0.75rem`,"--dt-font-size-sm":`0.8125rem`,"--dt-font-size-base":`0.875rem`,"--dt-font-size-lg":`1rem`,"--dt-font-size-xl":`1.25rem`,"--dt-font-size-2xl":`1.5rem`,"--dt-font-size-3xl":`2rem`,"--dt-space-1":`0.25rem`,"--dt-space-2":`0.5rem`,"--dt-space-3":`0.75rem`,"--dt-space-4":`1rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px rgba(0, 0, 0, 0.07)`,"--dt-shadow-md":`0 3px 6px rgba(0, 0, 0, 0.1)`,"--dt-shadow-lg":`0 8px 24px rgba(0, 0, 0, 0.12)`,"--dt-glow-accent":`rgba(9, 105, 218, 0.08)`,"--dt-glow-success":`rgba(26, 127, 55, 0.08)`,"--dt-glow-danger":`rgba(207, 34, 46, 0.08)`,"--dt-glow-warning":`rgba(154, 103, 0, 0.08)`,"--dt-glow-purple":`rgba(130, 80, 223, 0.08)`,"--dt-transition-fast":`150ms ease`,"--dt-transition-normal":`200ms ease`},b={"--dt-bg-primary":`#0d1117`,"--dt-bg-secondary":`#161b22`,"--dt-bg-tertiary":`#21262d`,"--dt-bg-canvas":`#010409`,"--dt-text-primary":`#f0f6fc`,"--dt-text-secondary":`#9198a1`,"--dt-text-tertiary":`#656d76`,"--dt-border-default":`#30363d`,"--dt-border-muted":`#21262d`,"--dt-border-subtle":`#1f242d`,"--dt-accent-fg":`#58a6ff`,"--dt-accent-emphasis":`#1f6feb`,"--dt-accent-muted":`rgba(56, 139, 253, 0.4)`,"--dt-accent-subtle":`rgba(56, 139, 253, 0.15)`,"--dt-success-fg":`#3fb950`,"--dt-success-emphasis":`#238636`,"--dt-success-muted":`rgba(63, 185, 80, 0.4)`,"--dt-success-subtle":`rgba(63, 185, 80, 0.15)`,"--dt-danger-fg":`#f85149`,"--dt-danger-emphasis":`#da3633`,"--dt-danger-muted":`rgba(248, 81, 73, 0.4)`,"--dt-danger-subtle":`rgba(248, 81, 73, 0.15)`,"--dt-warning-fg":`#d29922`,"--dt-warning-emphasis":`#bb8009`,"--dt-warning-muted":`rgba(210, 153, 34, 0.4)`,"--dt-warning-subtle":`rgba(210, 153, 34, 0.15)`,"--dt-purple-fg":`#bc8cff`,"--dt-purple-emphasis":`#a371f7`,"--dt-purple-muted":`rgba(188, 140, 255, 0.4)`,"--dt-purple-subtle":`rgba(188, 140, 255, 0.15)`,"--dt-shadow-sm":`0 1px 2px rgba(1, 4, 9, 0.35)`,"--dt-shadow-md":`0 3px 6px rgba(1, 4, 9, 0.4)`,"--dt-shadow-lg":`0 8px 24px rgba(1, 4, 9, 0.45)`,"--dt-glow-accent":`rgba(56, 139, 253, 0.14)`,"--dt-glow-success":`rgba(63, 185, 80, 0.14)`,"--dt-glow-danger":`rgba(248, 81, 73, 0.14)`,"--dt-glow-warning":`rgba(210, 153, 34, 0.14)`,"--dt-glow-purple":`rgba(188, 140, 255, 0.14)`},st=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-font-sans.--dt-font-mono.--dt-font-size-xs.--dt-font-size-sm.--dt-font-size-base.--dt-font-size-lg.--dt-font-size-xl.--dt-font-size-2xl.--dt-font-size-3xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-6.--dt-space-8.--dt-space-12.--dt-space-16.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple.--dt-transition-fast.--dt-transition-normal`.split(`.`),ct=`--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-bg-canvas.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-muted.--dt-accent-subtle.--dt-success-fg.--dt-success-emphasis.--dt-success-muted.--dt-success-subtle.--dt-danger-fg.--dt-danger-emphasis.--dt-danger-muted.--dt-danger-subtle.--dt-warning-fg.--dt-warning-emphasis.--dt-warning-muted.--dt-warning-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-purple`.split(`.`),x={actions:`
26
26
  .bk-actions {
27
27
  display: flex;
28
28
  flex-wrap: wrap;
@@ -230,50 +230,513 @@ ${g}
230
230
  padding-left: var(--dt-space-4);
231
231
  color: var(--dt-text-secondary);
232
232
  }
233
+ `,"component-detail":`
234
+ .bk-component-detail {
235
+ display: grid;
236
+ gap: var(--dt-space-4);
237
+ padding: var(--dt-space-5);
238
+ border: 1px solid var(--dt-border-default);
239
+ border-radius: var(--dt-radius-xl);
240
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
241
+ box-shadow: var(--dt-shadow-sm);
242
+ }
243
+
244
+ .bk-component-detail-header {
245
+ display: grid;
246
+ gap: var(--dt-space-3);
247
+ }
248
+
249
+ .bk-component-detail-heading {
250
+ display: flex;
251
+ flex-wrap: wrap;
252
+ align-items: center;
253
+ gap: var(--dt-space-2);
254
+ }
255
+
256
+ .bk-component-detail-name {
257
+ margin: 0;
258
+ color: var(--dt-text-primary);
259
+ font-size: clamp(var(--dt-font-size-xl), 3vw, var(--dt-font-size-2xl));
260
+ font-weight: 800;
261
+ }
262
+
263
+ .bk-component-detail-badge,
264
+ .bk-component-detail-tech,
265
+ .bk-component-detail-link {
266
+ display: inline-flex;
267
+ align-items: center;
268
+ justify-content: center;
269
+ min-height: calc(var(--dt-space-5) + var(--dt-space-1));
270
+ padding: 0 var(--dt-space-2);
271
+ border-radius: 999px;
272
+ font-size: var(--dt-font-size-xs);
273
+ font-weight: 700;
274
+ }
275
+
276
+ .bk-component-detail-badge {
277
+ background: var(--dt-accent-subtle);
278
+ color: var(--dt-accent-fg);
279
+ }
280
+
281
+ .bk-component-detail-tech {
282
+ background: var(--dt-bg-tertiary);
283
+ color: var(--dt-text-secondary);
284
+ }
285
+
286
+ .bk-component-detail-description {
287
+ margin: 0;
288
+ color: var(--dt-text-secondary);
289
+ }
290
+
291
+ .bk-component-detail-body {
292
+ display: grid;
293
+ gap: var(--dt-space-3);
294
+ }
295
+
296
+ .bk-component-detail-section {
297
+ border: 1px solid var(--dt-border-muted);
298
+ border-radius: var(--dt-radius-lg);
299
+ background: color-mix(in srgb, var(--dt-bg-secondary) 92%, var(--dt-bg-primary));
300
+ overflow: hidden;
301
+ }
302
+
303
+ .bk-component-detail-summary {
304
+ cursor: pointer;
305
+ list-style: none;
306
+ padding: var(--dt-space-3) var(--dt-space-4);
307
+ color: var(--dt-text-primary);
308
+ font-weight: 700;
309
+ }
310
+
311
+ .bk-component-detail-summary::-webkit-details-marker {
312
+ display: none;
313
+ }
314
+
315
+ .bk-component-detail-list,
316
+ .bk-component-detail-dependencies,
317
+ .bk-component-detail-links {
318
+ display: grid;
319
+ gap: var(--dt-space-2);
320
+ margin: 0;
321
+ padding: 0 var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);
322
+ }
323
+
324
+ .bk-component-detail-dependencies,
325
+ .bk-component-detail-links {
326
+ padding-left: var(--dt-space-4);
327
+ list-style: none;
328
+ }
329
+
330
+ .bk-component-detail-dependency {
331
+ display: flex;
332
+ flex-wrap: wrap;
333
+ gap: var(--dt-space-2);
334
+ align-items: center;
335
+ }
336
+
337
+ .bk-component-detail-dependency-name {
338
+ color: var(--dt-text-primary);
339
+ font-weight: 600;
340
+ }
341
+
342
+ .bk-component-detail-dependency-relationship {
343
+ color: var(--dt-text-secondary);
344
+ }
345
+
346
+ .bk-component-detail-table-wrap {
347
+ overflow-x: auto;
348
+ padding: 0 var(--dt-space-4) var(--dt-space-4);
349
+ }
350
+
351
+ .bk-component-detail-table {
352
+ width: 100%;
353
+ border-collapse: collapse;
354
+ font-size: var(--dt-font-size-sm);
355
+ }
356
+
357
+ .bk-component-detail-table th,
358
+ .bk-component-detail-table td {
359
+ padding: var(--dt-space-3);
360
+ border-bottom: 1px solid var(--dt-border-muted);
361
+ text-align: left;
362
+ vertical-align: top;
363
+ }
364
+
365
+ .bk-component-detail-table th {
366
+ color: var(--dt-text-primary);
367
+ font-weight: 700;
368
+ }
369
+
370
+ .bk-component-detail-code {
371
+ font-family: var(--dt-font-mono);
372
+ }
373
+
374
+ .bk-component-detail-metrics {
375
+ display: grid;
376
+ grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
377
+ gap: var(--dt-space-3);
378
+ padding: 0 var(--dt-space-4) var(--dt-space-4);
379
+ }
380
+
381
+ .bk-component-detail-metric {
382
+ display: grid;
383
+ gap: var(--dt-space-1);
384
+ padding: var(--dt-space-3);
385
+ border: 1px solid var(--dt-border-default);
386
+ border-radius: var(--dt-radius-lg);
387
+ background: var(--dt-bg-primary);
388
+ }
389
+
390
+ .bk-component-detail-metric-label {
391
+ color: var(--dt-text-secondary);
392
+ font-size: var(--dt-font-size-xs);
393
+ text-transform: uppercase;
394
+ letter-spacing: 0.08em;
395
+ }
396
+
397
+ .bk-component-detail-metric-value {
398
+ color: var(--dt-text-primary);
399
+ font-size: var(--dt-font-size-lg);
400
+ }
401
+
402
+ .bk-component-detail-links {
403
+ grid-template-columns: repeat(auto-fit, minmax(9rem, max-content));
404
+ }
405
+
406
+ .bk-component-detail-link {
407
+ border: 1px solid var(--dt-border-default);
408
+ background: var(--dt-bg-primary);
409
+ color: var(--dt-accent-fg);
410
+ text-decoration: none;
411
+ }
412
+
413
+ .bk-component-detail-link:hover {
414
+ border-color: var(--dt-accent-muted);
415
+ text-decoration: none;
416
+ }
417
+
418
+ @media (max-width: 720px) {
419
+ .bk-component-detail {
420
+ padding: var(--dt-space-4);
421
+ }
422
+
423
+ .bk-component-detail-summary {
424
+ padding-inline: var(--dt-space-3);
425
+ }
426
+
427
+ .bk-component-detail-list,
428
+ .bk-component-detail-dependencies,
429
+ .bk-component-detail-links,
430
+ .bk-component-detail-table-wrap,
431
+ .bk-component-detail-metrics {
432
+ padding-left: var(--dt-space-3);
433
+ padding-right: var(--dt-space-3);
434
+ padding-bottom: var(--dt-space-3);
435
+ }
436
+ }
437
+ `,"data-table-schema":`
438
+ .bk-data-table-schema {
439
+ display: grid;
440
+ gap: var(--dt-space-4);
441
+ }
442
+
443
+ .bk-data-table-schema-header {
444
+ display: grid;
445
+ gap: var(--dt-space-2);
446
+ }
447
+
448
+ .bk-data-table-schema-title,
449
+ .bk-data-table-schema-subtitle {
450
+ margin: 0;
451
+ color: var(--dt-text-primary);
452
+ font-weight: 700;
453
+ }
454
+
455
+ .bk-data-table-schema-title {
456
+ font-size: var(--dt-font-size-xl);
457
+ }
458
+
459
+ .bk-data-table-schema-description,
460
+ .bk-data-table-schema-empty,
461
+ .bk-data-table-schema-index-columns,
462
+ .bk-data-table-schema-index-meta {
463
+ margin: 0;
464
+ color: var(--dt-text-secondary);
465
+ }
466
+
467
+ .bk-data-table-schema-wrap {
468
+ overflow-x: auto;
469
+ border: 1px solid var(--dt-border-default);
470
+ border-radius: var(--dt-radius-xl);
471
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
472
+ box-shadow: var(--dt-shadow-sm);
473
+ }
474
+
475
+ .bk-data-table-schema-table {
476
+ width: 100%;
477
+ border-collapse: collapse;
478
+ font-size: var(--dt-font-size-sm);
479
+ }
480
+
481
+ .bk-data-table-schema-table th,
482
+ .bk-data-table-schema-table td {
483
+ padding: var(--dt-space-3) var(--dt-space-4);
484
+ border-bottom: 1px solid var(--dt-border-muted);
485
+ text-align: left;
486
+ vertical-align: top;
487
+ }
488
+
489
+ .bk-data-table-schema-table th {
490
+ color: var(--dt-text-primary);
491
+ font-weight: 700;
492
+ background: var(--dt-bg-tertiary);
493
+ }
494
+
495
+ .bk-data-table-schema-row--primary {
496
+ background: color-mix(in srgb, var(--dt-success-subtle) 72%, var(--dt-bg-secondary));
497
+ }
498
+
499
+ .bk-data-table-schema-code {
500
+ font-family: var(--dt-font-mono);
501
+ }
502
+
503
+ .bk-data-table-schema-required {
504
+ font-weight: 700;
505
+ }
506
+
507
+ .bk-data-table-schema-constraints {
508
+ display: flex;
509
+ flex-wrap: wrap;
510
+ gap: var(--dt-space-2);
511
+ }
512
+
513
+ .bk-data-table-schema-badge {
514
+ display: inline-flex;
515
+ align-items: center;
516
+ min-height: calc(var(--dt-space-5) + var(--dt-space-1));
517
+ padding: 0 var(--dt-space-2);
518
+ border-radius: 999px;
519
+ background: var(--dt-bg-tertiary);
520
+ color: var(--dt-text-secondary);
521
+ font-size: var(--dt-font-size-xs);
522
+ font-weight: 700;
523
+ text-decoration: none;
524
+ }
525
+
526
+ .bk-data-table-schema-badge--primary {
527
+ background: var(--dt-success-subtle);
528
+ color: var(--dt-success-fg);
529
+ }
530
+
531
+ .bk-data-table-schema-badge--link {
532
+ background: var(--dt-accent-subtle);
533
+ color: var(--dt-accent-fg);
534
+ }
535
+
536
+ .bk-data-table-schema-indexes {
537
+ display: grid;
538
+ gap: var(--dt-space-3);
539
+ }
540
+
541
+ .bk-data-table-schema-index-grid {
542
+ display: grid;
543
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
544
+ gap: var(--dt-space-3);
545
+ }
546
+
547
+ .bk-data-table-schema-index {
548
+ display: grid;
549
+ gap: var(--dt-space-2);
550
+ padding: var(--dt-space-4);
551
+ border: 1px solid var(--dt-border-default);
552
+ border-radius: var(--dt-radius-lg);
553
+ background: var(--dt-bg-secondary);
554
+ }
555
+
556
+ .bk-data-table-schema-index-name {
557
+ color: var(--dt-text-primary);
558
+ font-weight: 700;
559
+ }
233
560
  `,"docs-browser":`
234
561
  .bk-docs-browser {
235
562
  display: grid;
236
563
  gap: var(--dt-space-3);
237
564
  }
238
565
 
239
- .bk-doc-entry {
566
+ .bk-doc-entry {
567
+ display: grid;
568
+ gap: var(--dt-space-2);
569
+ padding: var(--dt-space-4);
570
+ border: 1px solid var(--dt-border-default);
571
+ border-radius: var(--dt-radius-lg);
572
+ background: var(--dt-bg-secondary);
573
+ }
574
+
575
+ .bk-doc-header {
576
+ display: flex;
577
+ align-items: center;
578
+ justify-content: space-between;
579
+ gap: var(--dt-space-3);
580
+ }
581
+
582
+ .bk-doc-title {
583
+ color: var(--dt-text-primary);
584
+ font-weight: 600;
585
+ }
586
+
587
+ .bk-doc-path,
588
+ .bk-doc-content {
589
+ color: var(--dt-text-secondary);
590
+ }
591
+
592
+ .bk-doc-content {
593
+ margin: 0;
594
+ font-family: var(--dt-font-mono);
595
+ font-size: var(--dt-font-size-sm);
596
+ white-space: pre-wrap;
597
+ }
598
+
599
+ .bk-doc-status {
600
+ padding: var(--dt-space-1) var(--dt-space-2);
601
+ border-radius: 999px;
602
+ font-size: var(--dt-font-size-xs);
603
+ font-weight: 700;
604
+ }
605
+ `,"docs-hub":`
606
+ .bk-docs-hub {
607
+ display: grid;
608
+ gap: var(--dt-space-4);
609
+ }
610
+
611
+ .bk-docs-hub-header {
612
+ display: grid;
613
+ gap: var(--dt-space-2);
614
+ }
615
+
616
+ .bk-docs-hub-title {
617
+ margin: 0;
618
+ color: var(--dt-text-primary);
619
+ font-size: var(--dt-font-size-xl);
620
+ font-weight: 700;
621
+ }
622
+
623
+ .bk-docs-hub-description,
624
+ .bk-docs-hub-empty {
625
+ margin: 0;
626
+ color: var(--dt-text-secondary);
627
+ }
628
+
629
+ .bk-docs-hub-grid {
630
+ display: grid;
631
+ grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
632
+ gap: var(--dt-space-4);
633
+ }
634
+
635
+ .bk-docs-hub-card {
636
+ display: grid;
637
+ gap: var(--dt-space-4);
638
+ min-height: 100%;
639
+ padding: var(--dt-space-4);
640
+ border: 1px solid var(--dt-border-default);
641
+ border-radius: var(--dt-radius-xl);
642
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
643
+ box-shadow: var(--dt-shadow-sm);
644
+ color: inherit;
645
+ text-decoration: none;
646
+ transition: transform var(--dt-transition-fast), box-shadow var(--dt-transition-fast), border-color var(--dt-transition-fast);
647
+ }
648
+
649
+ .bk-docs-hub-card:hover {
650
+ transform: translateY(-2px);
651
+ border-color: var(--dt-accent-muted);
652
+ box-shadow: var(--dt-shadow-lg);
653
+ text-decoration: none;
654
+ }
655
+
656
+ .bk-docs-hub-card-head {
657
+ display: grid;
658
+ grid-template-columns: auto minmax(0, 1fr);
659
+ align-items: start;
660
+ gap: var(--dt-space-3);
661
+ }
662
+
663
+ .bk-docs-hub-card-icon {
664
+ display: inline-flex;
665
+ align-items: center;
666
+ justify-content: center;
667
+ width: calc(var(--dt-space-8) + var(--dt-space-2));
668
+ height: calc(var(--dt-space-8) + var(--dt-space-2));
669
+ border-radius: var(--dt-radius-lg);
670
+ background: var(--dt-accent-subtle);
671
+ font-size: var(--dt-font-size-xl);
672
+ }
673
+
674
+ .bk-docs-hub-card-copy {
240
675
  display: grid;
241
676
  gap: var(--dt-space-2);
242
- padding: var(--dt-space-4);
243
- border: 1px solid var(--dt-border-default);
244
- border-radius: var(--dt-radius-lg);
245
- background: var(--dt-bg-secondary);
246
677
  }
247
678
 
248
- .bk-doc-header {
679
+ .bk-docs-hub-card-title {
680
+ color: var(--dt-text-primary);
681
+ font-size: var(--dt-font-size-lg);
682
+ font-weight: 700;
683
+ }
684
+
685
+ .bk-docs-hub-card-description {
686
+ margin: 0;
687
+ color: var(--dt-text-secondary);
688
+ }
689
+
690
+ .bk-docs-hub-card-meta {
249
691
  display: flex;
692
+ flex-wrap: wrap;
250
693
  align-items: center;
251
- justify-content: space-between;
252
- gap: var(--dt-space-3);
694
+ gap: var(--dt-space-2);
253
695
  }
254
696
 
255
- .bk-doc-title {
256
- color: var(--dt-text-primary);
257
- font-weight: 600;
697
+ .bk-docs-hub-card-category,
698
+ .bk-docs-hub-card-status {
699
+ display: inline-flex;
700
+ align-items: center;
701
+ gap: var(--dt-space-1);
702
+ min-height: calc(var(--dt-space-5) + var(--dt-space-1));
703
+ padding: 0 var(--dt-space-2);
704
+ border-radius: 999px;
705
+ font-size: var(--dt-font-size-xs);
706
+ font-weight: 700;
258
707
  }
259
708
 
260
- .bk-doc-path,
261
- .bk-doc-content {
709
+ .bk-docs-hub-card-category {
710
+ background: var(--dt-bg-tertiary);
262
711
  color: var(--dt-text-secondary);
263
712
  }
264
713
 
265
- .bk-doc-content {
266
- margin: 0;
267
- font-family: var(--dt-font-mono);
268
- font-size: var(--dt-font-size-sm);
269
- white-space: pre-wrap;
714
+ .bk-docs-hub-card-status {
715
+ background: var(--dt-accent-subtle);
716
+ color: var(--dt-accent-fg);
270
717
  }
271
718
 
272
- .bk-doc-status {
273
- padding: var(--dt-space-1) var(--dt-space-2);
719
+ .bk-docs-hub-card-status[data-tone='warning'] {
720
+ background: var(--dt-warning-subtle);
721
+ color: var(--dt-warning-fg);
722
+ }
723
+
724
+ .bk-docs-hub-card-status[data-tone='danger'] {
725
+ background: var(--dt-danger-subtle);
726
+ color: var(--dt-danger-fg);
727
+ }
728
+
729
+ .bk-docs-hub-card-status-dot {
730
+ width: 0.55rem;
731
+ height: 0.55rem;
274
732
  border-radius: 999px;
275
- font-size: var(--dt-font-size-xs);
276
- font-weight: 700;
733
+ background: currentColor;
734
+ }
735
+
736
+ @media (max-width: 720px) {
737
+ .bk-docs-hub-grid {
738
+ grid-template-columns: minmax(0, 1fr);
739
+ }
277
740
  }
278
741
  `,finding:`
279
742
  .bk-finding {
@@ -324,7 +787,101 @@ ${g}
324
787
  font-size: var(--dt-font-size-sm);
325
788
  line-height: 1.6;
326
789
  }
327
- `,heading:g,markdown:fe,mermaid:`
790
+ `,heading:h,"lifecycle-flow":`
791
+ .bk-lifecycle-flow {
792
+ display: grid;
793
+ gap: var(--dt-space-3);
794
+ }
795
+
796
+ .bk-lifecycle-flow-title {
797
+ margin: 0;
798
+ color: var(--dt-text-primary);
799
+ font-size: var(--dt-font-size-lg);
800
+ font-weight: 700;
801
+ }
802
+
803
+ .bk-lifecycle-flow-svg {
804
+ width: 100%;
805
+ height: auto;
806
+ overflow: visible;
807
+ }
808
+
809
+ .bk-lifecycle-flow-frame {
810
+ overflow-x: auto;
811
+ padding: var(--dt-space-2);
812
+ border: 1px solid var(--dt-border-default);
813
+ border-radius: var(--dt-radius-xl);
814
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
815
+ box-shadow: var(--dt-shadow-sm);
816
+ }
817
+
818
+ .bk-lifecycle-flow-edge {
819
+ fill: none;
820
+ stroke: var(--dt-border-default);
821
+ stroke-width: 3;
822
+ }
823
+
824
+ .bk-lifecycle-flow-edge-label,
825
+ .bk-lifecycle-flow-label,
826
+ .bk-lifecycle-flow-description {
827
+ fill: var(--dt-text-primary);
828
+ font-family: var(--dt-font-sans);
829
+ text-anchor: middle;
830
+ }
831
+
832
+ .bk-lifecycle-flow-label {
833
+ font-size: 13px;
834
+ font-weight: 700;
835
+ }
836
+
837
+ .bk-lifecycle-flow-description,
838
+ .bk-lifecycle-flow-edge-label {
839
+ fill: var(--dt-text-secondary);
840
+ font-size: 11px;
841
+ }
842
+
843
+ .bk-lifecycle-flow-shape {
844
+ fill: var(--dt-accent-subtle);
845
+ stroke: var(--dt-accent-emphasis);
846
+ stroke-width: 2.5;
847
+ }
848
+
849
+ .bk-lifecycle-flow-node--success .bk-lifecycle-flow-shape {
850
+ fill: var(--dt-success-subtle);
851
+ stroke: var(--dt-success-emphasis);
852
+ }
853
+
854
+ .bk-lifecycle-flow-node--danger .bk-lifecycle-flow-shape {
855
+ fill: var(--dt-danger-subtle);
856
+ stroke: var(--dt-danger-emphasis);
857
+ }
858
+
859
+ .bk-lifecycle-flow-node--slate .bk-lifecycle-flow-shape {
860
+ fill: var(--dt-bg-tertiary);
861
+ stroke: var(--dt-border-default);
862
+ }
863
+
864
+ .bk-lifecycle-flow-parallel-mark line {
865
+ stroke: currentColor;
866
+ stroke-width: 3;
867
+ }
868
+
869
+ .bk-lifecycle-flow-node--accent {
870
+ color: var(--dt-accent-emphasis);
871
+ }
872
+
873
+ .bk-lifecycle-flow-node--success {
874
+ color: var(--dt-success-emphasis);
875
+ }
876
+
877
+ .bk-lifecycle-flow-node--danger {
878
+ color: var(--dt-danger-emphasis);
879
+ }
880
+
881
+ .bk-lifecycle-flow-node--slate {
882
+ color: var(--dt-text-secondary);
883
+ }
884
+ `,markdown:Le,mermaid:`
328
885
  .bk-mermaid {
329
886
  margin: 0;
330
887
  padding: var(--dt-space-4);
@@ -621,7 +1178,7 @@ ${g}
621
1178
  .bk-tree-key {
622
1179
  color: var(--dt-text-primary);
623
1180
  }
624
- `},x=`
1181
+ `},S=`
625
1182
  .bk-section {
626
1183
  display: grid;
627
1184
  gap: var(--dt-space-3);
@@ -643,11 +1200,15 @@ ${g}
643
1200
  .bk-prompt,
644
1201
  .bk-heading,
645
1202
  .bk-table,
1203
+ .bk-data-table-schema,
646
1204
  .bk-docs-browser,
1205
+ .bk-docs-hub,
647
1206
  .bk-actions,
648
1207
  .bk-comparison,
1208
+ .bk-component-detail,
649
1209
  .bk-status-board,
650
1210
  .bk-progress,
1211
+ .bk-lifecycle-flow,
651
1212
  .bk-timeline,
652
1213
  .bk-tree,
653
1214
  .bk-tags,
@@ -703,35 +1264,33 @@ ${g}
703
1264
  white-space: nowrap;
704
1265
  border: 0;
705
1266
  }
706
- `;function S(e){let t=[x],n=new Set;for(let r of e)!n.has(r)&&b[r]&&(n.add(r),t.push(b[r]));return t.join(`
707
- `)}function Le(){return S(Object.keys(b))}function Re(e){return Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
708
- `)}function ze(e,t){let n=` `.repeat(t);return e.split(`
1267
+ `;function C(e){let t=[S],n=new Set;for(let r of e)!n.has(r)&&x[r]&&(n.add(r),t.push(x[r]));return t.join(`
1268
+ `)}function lt(){return C(Object.keys(x))}function w(e){return Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
1269
+ `)}function ut(e,t){let n=` `.repeat(t);return e.split(`
709
1270
  `).map(e=>`${n}${e}`).join(`
710
- `)}function Be(e){return e===`dark`?{...v,...y}:{...v}}function C(){return Re(y)}function w(e=`auto`){let t=`:root {\n${Re(Be(e===`dark`?`dark`:`light`))}\n}`;return e===`light`?`${t}\n\nhtml {\n color-scheme: light;\n}`:e===`dark`?`${t}\n\nhtml {\n color-scheme: dark;\n}`:[t,`html {
1271
+ `)}function dt(e){return e===`dark`?{...y,...b}:{...y}}function T(){return w(b)}function E(e=`auto`){let t=`:root {\n${w(dt(e===`dark`?`dark`:`light`))}\n}`;return e===`light`?`${t}\n\nhtml {\n color-scheme: light;\n}`:e===`dark`?`${t}\n\nhtml {\n color-scheme: dark;\n}`:[t,`html {
711
1272
  color-scheme: light;
712
- }`,[`@media (prefers-color-scheme: dark) {`,` :root {`,ze(C(),4),` }`,``,` html {`,` color-scheme: dark;`,` }`,`}`].join(`
1273
+ }`,[`@media (prefers-color-scheme: dark) {`,` :root {`,ut(T(),4),` }`,``,` html {`,` color-scheme: dark;`,` }`,`}`].join(`
713
1274
  `)].join(`
714
1275
 
715
- `)}const Ve={actions:m,cards:ee,chart:te,checklist:ne,code:re,comparison:ae,"docs-browser":se,finding:le,graph:ue,heading:de,markdown:ge,mermaid:_e,metrics:ye,paragraph:be,progress:Se,prompt:we,separator:Te,"status-board":De,table:ke,tags:je,text:Me,timeline:Ne,tree:Pe};function T(e,t){let r={...e,value:o(e.value)},i=Ve[r.type],a=i?i(r,t):Ue(r);return r.title&&![`heading`,`finding`].includes(r.type)?`<section class="bk-section bk-section--${n(r.type)}"><h3 class="bk-section-title">${n(r.title)}</h3>${a}</section>`:a}function He(e,t){return e.map(e=>T(e,t)).join(`
716
- `)}function Ue(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${n(e.value)}</p>`;try{return`<pre class="bk-fallback">${n(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${n(String(e.value))}</pre>`}}var E=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()]}};const We=[`mcp-app`,`browser`];function D(e){return typeof e==`object`&&!!e}function Ge(e){return Array.isArray(e)?e.flatMap(e=>!D(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const O={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and form 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=D(e)&&typeof e.title==`string`?e.title:void 0,r=D(e)?Ge(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`form`],supportedTransports:We},Ke=[`mcp-app`,`browser`,`export`];function k(e){return typeof e==`object`&&!!e}function qe(e){return k(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Je(e){return k(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Ye(e){return Array.isArray(e)?e.filter(k):[]}function Xe(e,t){if(Array.isArray(e)){let t=e.filter(Je);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const A={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=k(e)?Ye(e.rows):[],n=k(e)?Xe(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(k(e)&&Array.isArray(e.stats)){let t=e.stats.filter(qe);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:Ke},Ze=[`mcp-app`,`browser`,`export`];function j(e){return typeof e==`object`&&!!e}function Qe(e){return Array.isArray(e)?e.flatMap(e=>!j(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function $e(e){return Array.isArray(e)?e.flatMap(e=>!j(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Qe(e.changes)}]):[]}function et(e){return!j(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!j(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:$e(e.hunks)}])}function tt(e){return e===`add`?`+`:e===`delete`?`-`:` `}function nt(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${tt(e.type)}${e.content}`)]).join(`
717
- `);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const rt={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=>et(e).flatMap(nt),hydration:[],supportedTransports:Ze},it=[`mcp-app`,`browser`,`export`];function M(e){return typeof e==`object`&&!!e}function at(e){return M(e)&&typeof e.type==`string`}function ot(e){return Array.isArray(e)&&e.every(at)}function st(e){if(!M(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!M(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||ot(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function ct(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)}const N={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=st(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...ct(e));return n},hydration:[],supportedTransports:it},lt=[`mcp-app`,`browser`,`export`];function ut(e){return typeof e==`object`&&!!e}function dt(e){return ut(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`}}const P={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=dt(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:lt};function F(e){return typeof e==`object`&&!!e}function I(e){return e.replace(/\|/g,`\\|`).replace(/\r?\n/g,` `)}function ft(e){return Array.isArray(e)?e.flatMap(e=>!F(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`):void 0,value:typeof e.value==`string`?e.value:void 0}]):[]}function pt(e){let t=[`| Label | Name | Type | Options | Value |`,`| --- | --- | --- | --- | --- |`];for(let n of e)t.push(`| ${I(n.label)} | ${I(n.name)} | ${I(n.type??`text`)} | ${I((n.options??[]).join(`, `))} | ${I(n.value??``)} |`);return t.join(`
718
- `)}const L={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and markdown field table.`,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`},options:{type:`array`,items:{type:`string`}},value:{type:`string`}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:F(e)&&typeof e.title==`string`?e.title:`Form`,fields:F(e)?ft(e.fields):[]};return[{type:`heading`,value:t.title},{type:`markdown`,value:pt(t.fields)}]},hydration:[`form`],supportedTransports:[`browser`]},mt=[`mcp-app`,`browser`];function R(e){return typeof e==`object`&&!!e}function ht(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!R(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function gt(e){return Array.isArray(e)?e.flatMap(e=>!R(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 _t(e){return R(e)?{categories:ht(e.categories),items:gt(e.items)}:{items:[]}}function z(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function B(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(z)}]}const V={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=_t(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id));for(let e of t.categories)n.push(...B(e.label,t.items.filter(t=>t.category===e.id)));let r=t.items.filter(t=>!t.category||!e.has(t.category));return n.push(...B(`Other`,r)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(z)}),n},hydration:[`picker`],supportedTransports:mt},vt=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function yt(e){return H(e)&&typeof e.type==`string`}function bt(e){return Array.isArray(e)&&e.every(yt)}function xt(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function St(e){return Array.isArray(e)?e.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||bt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Ct(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 wt(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 Tt(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}const U={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(xt):void 0,sections:H(e)?St(e.sections):[],tables:H(e)?Ct(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(...wt(e));for(let e of t.tables??[])n.push(Tt(e));return n},hydration:[],supportedTransports:vt},Et=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function Dt(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 Ot(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const G={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)?Dt(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Ot(e.items)});return n},hydration:[],supportedTransports:Et},kt=[`mcp-app`,`browser`,`export`];function At(e){return typeof e==`object`&&!!e}function jt(e){return Array.isArray(e)?e.flatMap(e=>!At(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}]):[]}const K={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},defaultLayout:{},blocksFromData:e=>[{type:`timeline`,value:jt(e)}],hydration:[],supportedTransports:kt},Mt=[`mcp-app`,`browser`,`export`];function q(e){return typeof e==`object`&&!!e}function J(e){return q(e)&&typeof e.label==`string`}function Y(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(J).map(Y):[]}}function Nt(e){if(!q(e))return{};let t=e.root;return J(t)?Y(t):q(t)?t:e}const X={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:Nt(e)}],hydration:[`tree`],supportedTransports:Mt},Z=new E;Z.register(O),Z.register(rt),Z.register(N),Z.register(V),Z.register(U),Z.register(K),Z.register(X),Z.register(A),Z.register(P),Z.register(L),Z.register(G);let Q=0;function Pt(){return Q=(Q+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Q.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function Ft(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.js`,selector:`[data-island="${e}"]`,needsData:!0}}function It(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function Lt(e,t){let n=[],r=t.registry??Z,i={colorScheme:e.colorScheme??t.colorScheme??`auto`,transport:t.transport,lang:e.lang,dir:e.dir},a=[...e.blocks??[]],o=[...a],s=[],c=[...e.actions??[]];if(e.template){let t=r.get(e.template);if(t)try{o=t.blocksFromData(e.data,i),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>Ft(e))}catch(t){let r=t instanceof Error?t.message:String(t);n.push({level:`error`,message:`Template ${e.template} failed: ${r}`}),o=a.length===0?P.blocksFromData({code:`TEMPLATE_RENDER_ERROR`,message:`Failed to render template ${e.template}`,details:r},i):[...a]}else n.push({level:`warn`,message:`Template not found: ${e.template}`})}let l=He(o,i),u=[S(o.map(e=>e.type))],d=t.nonce??Pt(),f=e.metadata?.surfaceId??`surface-${d}`,p=s.length>0?JSON.stringify({data:e.data,blocks:o}):void 0,m=t.blockVendorScripts?[...new Set(o.flatMap(e=>t.blockVendorScripts?.[e.type]??[]))]:void 0;return{surfaceId:f,nonce:d,html:l,css:u,vendorScripts:m&&m.length>0?m:void 0,islands:s,actions:c,payload:p,estimatedBytes:It(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function Rt(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function zt(e){return!$(e)||!Array.isArray(e.metrics)?{metrics:[]}:{metrics:e.metrics.flatMap(e=>{if(!$(e)||typeof e.label!=`string`||typeof e.value!=`string`&&typeof e.value!=`number`)return[];let t=$(e.trend)&&typeof e.trend.value==`string`&&Rt(e.trend.direction)?{value:e.trend.value,direction:e.trend.direction}:void 0,n=Array.isArray(e.items)?e.items.flatMap(e=>!$(e)||typeof e.label!=`string`||typeof e.value!=`string`?[]:[{label:e.label,value:e.value}]):void 0;return[{id:typeof e.id==`string`?e.id:void 0,label:e.label,value:e.value,trend:t,status:e.status===`success`||e.status===`warning`||e.status===`error`||e.status===`info`?e.status:void 0,type:e.type===`progress`||e.type===`list`||e.type===`stat`?e.type:void 0,progress:typeof e.progress==`number`?qt(e.progress):void 0,items:n}]})}}function Bt(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?.value??t,status:e.status}}function Vt(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:qt(e.progress),max:100}}function Ht(e){return $(e)?{columns:Array.isArray(e.columns)?e.columns.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]):[],cards:Array.isArray(e.cards)?e.cards.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.title!=`string`||typeof e.column!=`string`?[]:[{id:e.id,title:e.title,description:typeof e.description==`string`?e.description:void 0,column:e.column,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0,priority:e.priority===`high`||e.priority===`medium`||e.priority===`low`?e.priority:void 0}]):[]}:{columns:[],cards:[]}}function Ut(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Wt(e){return!$(e)||!Array.isArray(e.items)?[]:e.items.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}])}function Gt(e){return $(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:typeof e.value==`number`?e.value:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(e=>Gt(e)):[]}:{name:``,total:0,children:[]}}function Kt(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(Kt)}}function qt(e){return Math.max(0,Math.min(100,e))}function Jt(e){let t=zt(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(Bt)});let r=t.metrics.map(Vt).filter(e=>e!==null);r.length>0&&n.push({type:`progress`,value:r});for(let e of t.metrics)e.type===`list`&&e.items&&e.items.length>0&&(n.push({type:`heading`,value:e.label}),n.push({type:`table`,value:e.items}));return n}function Yt(e){let t=Ht(e),n=[];for(let e of t.columns){let r=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:r.map(Ut)})}return n}function Xt(e){let t=Wt(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function Zt(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:Kt(Gt(e.profile))}]}const Qt={id:`dashboard@1`,label:`Dashboard`,description:`Metric cards grid with optional charts.`,inputSchema:{type:`object`,properties:{metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{id:{type:`string`},label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:`object`,properties:{value:{type:`string`},direction:{enum:[`up`,`down`,`neutral`]}},required:[`value`,`direction`],additionalProperties:!1},status:{enum:[`success`,`warning`,`error`,`info`]},type:{enum:[`stat`,`progress`,`list`]},progress:{type:`number`},items:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`metrics`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Jt(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},$t={id:`kanban@1`,label:`Kanban`,description:`Drag-and-drop task board grouped by columns.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},color:{type:`string`}},additionalProperties:!1}},cards:{type:`array`,items:{type:`object`,required:[`id`,`title`,`column`],properties:{id:{type:`string`},title:{type:`string`},description:{type:`string`},column:{type:`string`},tags:{type:`array`,items:{type:`string`}},priority:{enum:[`high`,`medium`,`low`]}},additionalProperties:!1}}},required:[`columns`,`cards`],additionalProperties:!1},defaultLayout:{maxWidth:`1400px`},blocksFromData:e=>Yt(e),hydration:[],supportedTransports:[`browser`]},en={id:`list-sort@1`,label:`Sortable List`,description:`Reorderable list of items with browser drag-and-drop interactions.`,inputSchema:{type:`object`,properties:{items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{maxWidth:`720px`},blocksFromData:e=>Xt(e),hydration:[],supportedTransports:[`browser`]},tn={id:`flame-graph@1`,label:`Flame Graph`,description:`Hierarchical performance profile with interactive zoom state.`,inputSchema:{type:`object`,properties:{profile:{type:`object`}},required:[`profile`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Zt(e),hydration:[],supportedTransports:[`browser`]};function nn(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function rn(e,t){let n=[`
719
- * {
720
- box-sizing: border-box;
721
- }
722
-
723
- html {
724
- font-size: 16px;
725
- }
726
-
727
- body {
728
- margin: 0;
729
- display: flex;
730
- flex-direction: column;
731
- min-height: 100vh;
732
- background: var(--dt-bg-canvas, var(--dt-bg-primary));
733
- color: var(--dt-text-primary);
734
- font-family: var(--dt-font-sans);
1276
+ `)}const D={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`};function ft(e){return e===`browser`?[` <div class="${D.toolbox}">`,` <button type="button" class="${D.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu" onclick="toggleToolbox()">`,` <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>`,` </button>`,` <div id="aikit-toolbox-menu" class="${D.toolboxMenu}" role="menu" hidden>`,` <button type="button" class="${D.toolboxItem}" role="menuitem" onclick="screenshotPage()">`,` <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>`,` <span>Screenshot</span>`,` </button>`,` </div>`,` </div>`].join(`
1277
+ `):``}function O(e){return e?.trim()?e.trim():``}function pt(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 mt(e){let t=e.brand??`AI KIT`,r=[O(e.actionsHtml),ft(e.transport),e.showThemeToggle===!1?``:[` <button type="button" class="${D.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false" onclick="toggleTheme()">`,` <span class="${D.themeToggleIcon} ${D.themeToggleIconSun}" aria-hidden="true"><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></span>`,` <span class="${D.themeToggleIcon} ${D.themeToggleIconMoon}" aria-hidden="true"><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></span>`,` </button>`].join(`
1278
+ `)].filter(Boolean).join(`
1279
+ `);return[` <header class="${D.header}">`,` <div class="${D.brand}">${n(t)}</div>`,` <div class="${D.title}">`,` <span class="${D.titleText}">${n(e.title)}</span>`,...e.subtitle?[` <span class="${D.subtitle}">${n(e.subtitle)}</span>`]:[],` </div>`,` <div class="${D.actions}">`,r,` </div>`,` </header>`].join(`
1280
+ `)}function ht(e={}){let t=pt(e.generatedAt),r=t?[`Generated by `,`<span class="${D.footerBrand}">AI KIT</span>`,` at `,t.dateTime?`<time class="${D.footerTimestamp}" datetime="${n(t.dateTime)}">${n(t.display)}</time>`:`<span class="${D.footerTimestamp}">${n(t.display)}</span>`].join(``):`Generated by <span class="${D.footerBrand}">AI KIT</span>`,i=O(e.contentHtml);return[` <footer class="${D.footer}">`,` <div class="${D.footerMeta}">`,` <span class="${D.footerText}">${r}</span>`,...i?[` <span class="${D.footerSlot}">${i}</span>`]:[],` </div>`,` </footer>`].join(`
1281
+ `)}const gt=`
1282
+ .aikit-header,
1283
+ .aikit-toolbox-menu,
1284
+ .aikit-footer {
1285
+ --aikit-background: var(--background, var(--dt-bg-primary));
1286
+ --aikit-foreground: var(--foreground, var(--dt-text-primary));
1287
+ --aikit-muted: var(--muted, var(--dt-bg-secondary));
1288
+ --aikit-muted-foreground: var(--muted-foreground, var(--dt-text-secondary));
1289
+ --aikit-border: var(--border, var(--dt-border-default));
1290
+ --aikit-accent: var(--accent, var(--dt-accent-subtle));
1291
+ --aikit-accent-foreground: var(--accent-foreground, var(--dt-accent-fg));
1292
+ --aikit-card: var(--card, var(--dt-bg-secondary));
1293
+ --aikit-card-foreground: var(--card-foreground, var(--dt-text-primary));
735
1294
  }
736
1295
 
737
1296
  .aikit-header {
@@ -742,32 +1301,58 @@ body {
742
1301
  align-items: center;
743
1302
  justify-content: space-between;
744
1303
  gap: var(--dt-space-4);
1304
+ min-height: 3.5rem;
745
1305
  padding: var(--dt-space-2) var(--dt-space-4);
746
- border-bottom: 1px solid var(--dt-border-default);
747
- background: color-mix(in srgb, var(--dt-bg-primary) 92%, transparent);
748
- backdrop-filter: blur(14px);
1306
+ border-bottom: 1px solid var(--aikit-border);
1307
+ background: color-mix(in srgb, var(--aikit-background) 88%, transparent);
1308
+ backdrop-filter: blur(8px);
749
1309
  }
750
1310
 
751
1311
  .aikit-header-brand,
752
1312
  .aikit-header-actions {
753
- flex: 0 0 10rem;
1313
+ flex: 0 0 auto;
1314
+ min-width: 0;
754
1315
  }
755
1316
 
756
1317
  .aikit-header-brand {
757
- color: var(--dt-text-primary);
1318
+ display: flex;
1319
+ align-items: center;
1320
+ color: var(--aikit-muted-foreground);
1321
+ font-family: var(--dt-font-mono);
758
1322
  font-size: var(--dt-font-size-sm);
759
- font-weight: 700;
760
- letter-spacing: 0.08em;
1323
+ font-weight: 600;
1324
+ letter-spacing: 0.12em;
761
1325
  text-transform: uppercase;
762
1326
  }
763
1327
 
764
1328
  .aikit-header-title {
765
1329
  flex: 1 1 auto;
766
1330
  min-width: 0;
767
- color: var(--dt-text-primary);
1331
+ display: flex;
1332
+ align-items: baseline;
1333
+ gap: var(--dt-space-2);
1334
+ justify-content: flex-start;
1335
+ min-height: 0;
1336
+ }
1337
+
1338
+ .aikit-header-title-text {
1339
+ min-width: 0;
1340
+ flex: 1 1 auto;
1341
+ color: var(--aikit-foreground);
768
1342
  font-size: var(--dt-font-size-lg);
769
1343
  font-weight: 600;
770
- text-align: center;
1344
+ line-height: 1.2;
1345
+ white-space: nowrap;
1346
+ overflow: hidden;
1347
+ text-overflow: ellipsis;
1348
+ }
1349
+
1350
+ .aikit-header-subtitle {
1351
+ flex: 0 1 auto;
1352
+ min-width: 0;
1353
+ color: var(--aikit-muted-foreground);
1354
+ font-size: var(--dt-font-size-sm);
1355
+ line-height: 1.2;
771
1356
  white-space: nowrap;
772
1357
  overflow: hidden;
773
1358
  text-overflow: ellipsis;
@@ -776,8 +1361,13 @@ body {
776
1361
  .aikit-header-actions {
777
1362
  display: flex;
778
1363
  align-items: center;
779
- gap: var(--dt-space-2);
780
1364
  justify-content: flex-end;
1365
+ gap: var(--dt-space-2);
1366
+ min-width: max-content;
1367
+ }
1368
+
1369
+ .aikit-header-actions > * {
1370
+ flex: 0 0 auto;
781
1371
  }
782
1372
 
783
1373
  .aikit-toolbox {
@@ -789,35 +1379,66 @@ body {
789
1379
  display: inline-flex;
790
1380
  align-items: center;
791
1381
  justify-content: center;
792
- width: 2rem;
793
- height: 2rem;
1382
+ position: relative;
1383
+ width: 2.5rem;
1384
+ height: 2.5rem;
794
1385
  padding: 0;
795
- border: 1px solid var(--dt-border-default);
796
- border-radius: var(--dt-radius-md);
797
- background: var(--dt-bg-secondary);
798
- color: var(--dt-text-primary);
799
- box-shadow: var(--dt-shadow-sm);
1386
+ border: 1px solid var(--aikit-border);
1387
+ border-radius: 999px;
1388
+ background: var(--aikit-card);
1389
+ color: var(--aikit-card-foreground);
800
1390
  cursor: pointer;
801
1391
  font: inherit;
802
1392
  transition:
803
1393
  background var(--dt-transition-fast),
804
1394
  border-color var(--dt-transition-fast),
805
1395
  color var(--dt-transition-fast),
806
- box-shadow var(--dt-transition-fast);
1396
+ transform var(--dt-transition-fast);
807
1397
  }
808
1398
 
809
1399
  .aikit-theme-toggle:hover,
810
1400
  .aikit-toolbox-toggle:hover {
811
- background: var(--dt-bg-tertiary);
1401
+ background: var(--aikit-muted);
812
1402
  }
813
1403
 
814
1404
  .aikit-theme-toggle:focus-visible,
815
1405
  .aikit-toolbox-toggle:focus-visible,
816
1406
  .aikit-toolbox-item:focus-visible {
817
- outline: 2px solid var(--dt-accent-fg);
1407
+ outline: 2px solid var(--aikit-accent-foreground);
818
1408
  outline-offset: 2px;
819
1409
  }
820
1410
 
1411
+ .aikit-theme-toggle-icon {
1412
+ position: absolute;
1413
+ inset: 0;
1414
+ display: inline-flex;
1415
+ align-items: center;
1416
+ justify-content: center;
1417
+ transition:
1418
+ opacity var(--dt-transition-normal),
1419
+ transform var(--dt-transition-normal);
1420
+ }
1421
+
1422
+ .aikit-theme-toggle-icon--sun {
1423
+ opacity: 1;
1424
+ transform: scale(1) rotate(0deg);
1425
+ }
1426
+
1427
+ .aikit-theme-toggle-icon--moon {
1428
+ opacity: 0;
1429
+ transform: scale(0.65) rotate(-40deg);
1430
+ }
1431
+
1432
+ html[data-theme='dark'] .aikit-theme-toggle-icon--sun {
1433
+ opacity: 0;
1434
+ transform: scale(0.65) rotate(40deg);
1435
+ }
1436
+
1437
+ html[data-theme='dark'] .aikit-theme-toggle-icon--moon {
1438
+ opacity: 1;
1439
+ transform: scale(1) rotate(0deg);
1440
+ }
1441
+
821
1442
  .aikit-toolbox-menu {
822
1443
  position: absolute;
823
1444
  top: calc(100% + var(--dt-space-2));
@@ -826,9 +1447,9 @@ body {
826
1447
  display: grid;
827
1448
  gap: var(--dt-space-1);
828
1449
  padding: var(--dt-space-2);
829
- border: 1px solid var(--dt-border-default);
830
- border-radius: var(--dt-radius-md);
831
- background: var(--dt-bg-primary);
1450
+ border: 1px solid var(--aikit-border);
1451
+ border-radius: var(--dt-radius-lg);
1452
+ background: var(--aikit-background);
832
1453
  box-shadow: var(--dt-shadow-lg);
833
1454
  z-index: 120;
834
1455
  }
@@ -842,66 +1463,88 @@ body {
842
1463
  align-items: center;
843
1464
  gap: var(--dt-space-2);
844
1465
  width: 100%;
845
- min-height: 2.25rem;
1466
+ min-height: 2.5rem;
846
1467
  padding: 0 var(--dt-space-3);
847
1468
  border: 1px solid transparent;
848
1469
  border-radius: var(--dt-radius-sm);
849
1470
  background: transparent;
850
- color: var(--dt-text-primary);
1471
+ color: var(--aikit-foreground);
851
1472
  cursor: pointer;
852
1473
  font: inherit;
853
1474
  text-align: left;
854
1475
  }
855
1476
 
856
1477
  .aikit-toolbox-item:hover {
857
- background: var(--dt-bg-secondary);
858
- border-color: var(--dt-border-default);
1478
+ background: var(--aikit-muted);
1479
+ border-color: var(--aikit-border);
859
1480
  }
860
1481
 
861
1482
  .aikit-toolbox-item svg {
862
1483
  flex: 0 0 auto;
863
1484
  }
864
1485
 
865
- main {
866
- flex: 1;
867
- width: 100%;
868
- max-width: 100%;
869
- padding: var(--dt-space-8) var(--dt-space-4);
870
- }
871
-
872
1486
  .aikit-footer {
873
1487
  margin-top: auto;
874
- padding: var(--dt-space-4);
875
- border-top: 1px solid var(--dt-border-default);
876
- color: var(--dt-text-secondary);
1488
+ display: flex;
1489
+ align-items: center;
1490
+ justify-content: center;
1491
+ padding: var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);
1492
+ border-top: 1px solid var(--aikit-border);
1493
+ color: var(--aikit-muted-foreground);
877
1494
  font-size: var(--dt-font-size-xs);
1495
+ }
1496
+
1497
+ .aikit-footer-meta {
1498
+ display: inline-flex;
1499
+ align-items: center;
1500
+ justify-content: center;
1501
+ gap: var(--dt-space-2);
1502
+ flex-wrap: wrap;
878
1503
  text-align: center;
879
1504
  }
880
1505
 
1506
+ .aikit-footer-text {
1507
+ display: inline-flex;
1508
+ align-items: center;
1509
+ justify-content: center;
1510
+ gap: 0.35rem;
1511
+ min-width: 0;
1512
+ }
1513
+
1514
+ .aikit-footer-brand {
1515
+ color: var(--aikit-foreground);
1516
+ font-family: var(--dt-font-mono);
1517
+ font-weight: 600;
1518
+ letter-spacing: 0.08em;
1519
+ text-transform: uppercase;
1520
+ }
1521
+
1522
+ .aikit-footer-timestamp,
1523
+ .aikit-footer-slot {
1524
+ min-width: 0;
1525
+ }
1526
+
1527
+ .aikit-footer-slot {
1528
+ display: inline-flex;
1529
+ align-items: center;
1530
+ gap: 0.35rem;
1531
+ }
1532
+
881
1533
  @supports not (background: color-mix(in srgb, white 50%, transparent)) {
882
1534
  .aikit-header {
883
- background: var(--dt-bg-primary);
1535
+ background: var(--aikit-background);
884
1536
  }
885
1537
  }
886
1538
 
887
1539
  @media (max-width: 640px) {
888
- .aikit-header {
889
- flex-wrap: wrap;
890
- }
891
-
892
- .aikit-header-brand,
893
- .aikit-header-actions,
894
- .aikit-header-title {
895
- flex: 1 1 100%;
896
- }
897
-
898
- .aikit-header-title {
899
- order: 3;
900
- text-align: left;
1540
+ .aikit-header-brand {
1541
+ display: none;
901
1542
  }
902
1543
 
903
- .aikit-header-actions {
904
- justify-content: flex-start;
1544
+ .aikit-header {
1545
+ gap: var(--dt-space-2);
1546
+ padding-left: var(--dt-space-3);
1547
+ padding-right: var(--dt-space-3);
905
1548
  }
906
1549
 
907
1550
  .aikit-toolbox-menu {
@@ -913,6 +1556,15 @@ main {
913
1556
  }
914
1557
 
915
1558
  @media (max-width: 400px) {
1559
+ .aikit-header-actions {
1560
+ gap: var(--dt-space-1);
1561
+ }
1562
+
1563
+ .aikit-footer {
1564
+ padding-left: var(--dt-space-3);
1565
+ padding-right: var(--dt-space-3);
1566
+ }
1567
+
916
1568
  .aikit-toolbox-menu {
917
1569
  position: fixed;
918
1570
  top: auto;
@@ -925,19 +1577,44 @@ main {
925
1577
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
926
1578
  }
927
1579
  }
928
- `,...t.filter(e=>e.trim().length>0)].join(`
1580
+ `,_t={actions:p,cards:te,chart:ne,checklist:re,code:ie,comparison:oe,"component-detail":pe,"data-table-schema":ve,"docs-browser":be,"docs-hub":we,finding:Ee,graph:De,heading:Oe,"lifecycle-flow":Ie,markdown:Ve,mermaid:He,metrics:We,paragraph:Ge,progress:qe,prompt:Ye,separator:Xe,"status-board":Qe,table:tt,tags:rt,text:it,timeline:at,tree:ot};function vt(e,t){let r={...e,value:o(e.value)},i=_t[r.type],a=i?i(r,t):bt(r);return r.title&&![`heading`,`finding`].includes(r.type)?`<section class="bk-section bk-section--${n(r.type)}"><h3 class="bk-section-title">${n(r.title)}</h3>${a}</section>`:a}function yt(e,t){return e.map(e=>vt(e,t)).join(`
1581
+ `)}function bt(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${n(e.value)}</p>`;try{return`<pre class="bk-fallback">${n(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${n(String(e.value))}</pre>`}}var xt=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()]}};const St=[`mcp-app`,`browser`];function k(e){return typeof e==`object`&&!!e}function Ct(e){return Array.isArray(e)?e.flatMap(e=>!k(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const A={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and form 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=k(e)&&typeof e.title==`string`?e.title:void 0,r=k(e)?Ct(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`form`],supportedTransports:St},wt=[`mcp-app`,`browser`,`export`];function j(e){return typeof e==`object`&&!!e}function Tt(e){return j(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Et(e){return j(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Dt(e){return Array.isArray(e)?e.filter(j):[]}function Ot(e,t){if(Array.isArray(e)){let t=e.filter(Et);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const M={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=j(e)?Dt(e.rows):[],n=j(e)?Ot(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(j(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Tt);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:wt},kt=[`mcp-app`,`browser`,`export`];function N(e){return typeof e==`object`&&!!e}function At(e){return Array.isArray(e)?e.flatMap(e=>!N(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function jt(e){return Array.isArray(e)?e.flatMap(e=>!N(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:At(e.changes)}]):[]}function Mt(e){return!N(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!N(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:jt(e.hunks)}])}function Nt(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Pt(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${Nt(e.type)}${e.content}`)]).join(`
1582
+ `);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const P={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=>Mt(e).flatMap(Pt),hydration:[],supportedTransports:kt},Ft=[`mcp-app`,`browser`,`export`];function F(e){return typeof e==`object`&&!!e}function It(e){return F(e)&&typeof e.type==`string`}function Lt(e){return Array.isArray(e)&&e.every(It)}function Rt(e){if(!F(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!F(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Lt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function zt(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)}const I={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=Rt(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...zt(e));return n},hydration:[],supportedTransports:Ft},Bt=[`mcp-app`,`browser`,`export`];function Vt(e){return typeof e==`object`&&!!e}function Ht(e){return Vt(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`}}const L={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=Ht(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:Bt};function R(e){return typeof e==`object`&&!!e}function z(e){return e.replace(/\|/g,`\\|`).replace(/\r?\n/g,` `)}function Ut(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`):void 0,value:typeof e.value==`string`?e.value:void 0}]):[]}function Wt(e){let t=[`| Label | Name | Type | Options | Value |`,`| --- | --- | --- | --- | --- |`];for(let n of e)t.push(`| ${z(n.label)} | ${z(n.name)} | ${z(n.type??`text`)} | ${z((n.options??[]).join(`, `))} | ${z(n.value??``)} |`);return t.join(`
1583
+ `)}const B={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and markdown field table.`,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`},options:{type:`array`,items:{type:`string`}},value:{type:`string`}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:R(e)&&typeof e.title==`string`?e.title:`Form`,fields:R(e)?Ut(e.fields):[]};return[{type:`heading`,value:t.title},{type:`markdown`,value:Wt(t.fields)}]},hydration:[`form`],supportedTransports:[`browser`]},Gt=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function Kt(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 qt(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 Jt(e){return V(e)?{categories:Kt(e.categories),items:qt(e.items)}:{items:[]}}function H(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function U(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(H)}]}const W={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=Jt(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id));for(let e of t.categories)n.push(...U(e.label,t.items.filter(t=>t.category===e.id)));let r=t.items.filter(t=>!t.category||!e.has(t.category));return n.push(...U(`Other`,r)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(H)}),n},hydration:[`picker`],supportedTransports:Gt},Yt=[`mcp-app`,`browser`,`export`];function G(e){return typeof e==`object`&&!!e}function Xt(e){return G(e)&&typeof e.type==`string`}function Zt(e){return Array.isArray(e)&&e.every(Xt)}function Qt(e){return G(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function $t(e){return Array.isArray(e)?e.flatMap(e=>{if(!G(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Zt(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function en(e){return Array.isArray(e)?e.flatMap(e=>G(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 tn(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 nn(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}const K={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:G(e)&&typeof e.title==`string`?e.title:`Report`,metrics:G(e)&&Array.isArray(e.metrics)?e.metrics.filter(Qt):void 0,sections:G(e)?$t(e.sections):[],tables:G(e)?en(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(...tn(e));for(let e of t.tables??[])n.push(nn(e));return n},hydration:[],supportedTransports:Yt},rn=[`mcp-app`,`browser`,`export`];function q(e){return typeof e==`object`&&!!e}function an(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!q(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 on(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const J={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=q(e)?an(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:on(e.items)});return n},hydration:[],supportedTransports:rn},sn=[`mcp-app`,`browser`,`export`];function cn(e){return typeof e==`object`&&!!e}function ln(e){return Array.isArray(e)?e.flatMap(e=>!cn(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 un(e){return Array.isArray(e)?{entries:ln(e)}:cn(e)?{entries:ln(e.entries),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const dn={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},fn={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[dn,{type:`object`,properties:{title:{type:`string`},entries:dn},required:[`entries`],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=un(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:sn},pn=[`mcp-app`,`browser`,`export`];function Y(e){return typeof e==`object`&&!!e}function X(e){return Y(e)&&typeof e.label==`string`}function mn(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(X).map(mn):[]}}function hn(e){if(!Y(e))return{};let t=e.root;return X(t)?mn(t):Y(t)?t:e}const gn={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:hn(e)}],hydration:[`tree`],supportedTransports:pn},Z=new xt;Z.register(A),Z.register(P),Z.register(I),Z.register(W),Z.register(K),Z.register(fn),Z.register(gn),Z.register(M),Z.register(L),Z.register(B),Z.register(J);let Q=0;function _n(){return Q=(Q+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Q.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function vn(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.js`,selector:`[data-island="${e}"]`,needsData:!0}}function yn(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function bn(e,t){let n=[],r=t.registry??Z,i={colorScheme:e.colorScheme??t.colorScheme??`auto`,transport:t.transport,lang:e.lang,dir:e.dir},a=[...e.blocks??[]],o=[...a],s=[],c=[...e.actions??[]];if(e.template){let t=r.get(e.template);if(t)try{o=t.blocksFromData(e.data,i),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>vn(e))}catch(t){let r=t instanceof Error?t.message:String(t);n.push({level:`error`,message:`Template ${e.template} failed: ${r}`}),o=a.length===0?L.blocksFromData({code:`TEMPLATE_RENDER_ERROR`,message:`Failed to render template ${e.template}`,details:r},i):[...a]}else n.push({level:`warn`,message:`Template not found: ${e.template}`})}let l=yt(o,i),u=[C(o.map(e=>e.type))],d=t.nonce??_n(),f=e.metadata?.surfaceId??`surface-${d}`,ee=s.length>0?JSON.stringify({data:e.data,blocks:o}):void 0,p=t.blockVendorScripts?[...new Set(o.flatMap(e=>t.blockVendorScripts?.[e.type]??[]))]:void 0;return{surfaceId:f,nonce:d,html:l,css:u,vendorScripts:p&&p.length>0?p:void 0,islands:s,actions:c,payload:ee,estimatedBytes:yn(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function xn(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function Sn(e){return!$(e)||!Array.isArray(e.metrics)?{metrics:[]}:{metrics:e.metrics.flatMap(e=>{if(!$(e)||typeof e.label!=`string`||typeof e.value!=`string`&&typeof e.value!=`number`)return[];let t=$(e.trend)&&typeof e.trend.value==`string`&&xn(e.trend.direction)?{value:e.trend.value,direction:e.trend.direction}:void 0,n=Array.isArray(e.items)?e.items.flatMap(e=>!$(e)||typeof e.label!=`string`||typeof e.value!=`string`?[]:[{label:e.label,value:e.value}]):void 0;return[{id:typeof e.id==`string`?e.id:void 0,label:e.label,value:e.value,trend:t,status:e.status===`success`||e.status===`warning`||e.status===`error`||e.status===`info`?e.status:void 0,type:e.type===`progress`||e.type===`list`||e.type===`stat`?e.type:void 0,progress:typeof e.progress==`number`?An(e.progress):void 0,items:n}]})}}function Cn(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?.value??t,status:e.status}}function wn(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:An(e.progress),max:100}}function Tn(e){return $(e)?{columns:Array.isArray(e.columns)?e.columns.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]):[],cards:Array.isArray(e.cards)?e.cards.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.title!=`string`||typeof e.column!=`string`?[]:[{id:e.id,title:e.title,description:typeof e.description==`string`?e.description:void 0,column:e.column,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0,priority:e.priority===`high`||e.priority===`medium`||e.priority===`low`?e.priority:void 0}]):[]}:{columns:[],cards:[]}}function En(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Dn(e){return!$(e)||!Array.isArray(e.items)?[]:e.items.flatMap(e=>!$(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}])}function On(e){return $(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:typeof e.value==`number`?e.value:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(e=>On(e)):[]}:{name:``,total:0,children:[]}}function kn(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(kn)}}function An(e){return Math.max(0,Math.min(100,e))}function jn(e){let t=Sn(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(Cn)});let r=t.metrics.map(wn).filter(e=>e!==null);r.length>0&&n.push({type:`progress`,value:r});for(let e of t.metrics)e.type===`list`&&e.items&&e.items.length>0&&(n.push({type:`heading`,value:e.label}),n.push({type:`table`,value:e.items}));return n}function Mn(e){let t=Tn(e),n=[];for(let e of t.columns){let r=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:r.map(En)})}return n}function Nn(e){let t=Dn(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function Pn(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:kn(On(e.profile))}]}const Fn={id:`dashboard@1`,label:`Dashboard`,description:`Metric cards grid with optional charts.`,inputSchema:{type:`object`,properties:{metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{id:{type:`string`},label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:`object`,properties:{value:{type:`string`},direction:{enum:[`up`,`down`,`neutral`]}},required:[`value`,`direction`],additionalProperties:!1},status:{enum:[`success`,`warning`,`error`,`info`]},type:{enum:[`stat`,`progress`,`list`]},progress:{type:`number`},items:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`metrics`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>jn(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},In={id:`kanban@1`,label:`Kanban`,description:`Drag-and-drop task board grouped by columns.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},color:{type:`string`}},additionalProperties:!1}},cards:{type:`array`,items:{type:`object`,required:[`id`,`title`,`column`],properties:{id:{type:`string`},title:{type:`string`},description:{type:`string`},column:{type:`string`},tags:{type:`array`,items:{type:`string`}},priority:{enum:[`high`,`medium`,`low`]}},additionalProperties:!1}}},required:[`columns`,`cards`],additionalProperties:!1},defaultLayout:{maxWidth:`1400px`},blocksFromData:e=>Mn(e),hydration:[],supportedTransports:[`browser`]},Ln={id:`list-sort@1`,label:`Sortable List`,description:`Reorderable list of items with browser drag-and-drop interactions.`,inputSchema:{type:`object`,properties:{items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{maxWidth:`720px`},blocksFromData:e=>Nn(e),hydration:[],supportedTransports:[`browser`]},Rn={id:`flame-graph@1`,label:`Flame Graph`,description:`Hierarchical performance profile with interactive zoom state.`,inputSchema:{type:`object`,properties:{profile:{type:`object`}},required:[`profile`],additionalProperties:!1},defaultLayout:{maxWidth:`1200px`},blocksFromData:e=>Pn(e),hydration:[],supportedTransports:[`browser`]};function zn(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Bn(e,t){let n=[`
1584
+ * {
1585
+ box-sizing: border-box;
1586
+ }
1587
+
1588
+ html {
1589
+ font-size: 16px;
1590
+ }
1591
+
1592
+ body {
1593
+ margin: 0;
1594
+ display: flex;
1595
+ flex-direction: column;
1596
+ min-height: 100vh;
1597
+ background: var(--dt-bg-canvas, var(--dt-bg-primary));
1598
+ color: var(--dt-text-primary);
1599
+ font-family: var(--dt-font-sans);
1600
+ }
1601
+
1602
+ main {
1603
+ flex: 1;
1604
+ width: 100%;
1605
+ max-width: 100%;
1606
+ padding: var(--dt-space-8) var(--dt-space-4);
1607
+ }
1608
+ `,gt,...(Array.isArray(t)?t:typeof t==`string`?[t]:[]).filter(e=>e.trim().length>0)].join(`
929
1609
  `);return[` <style>${e}</style>`,` <style>${n}</style>`].join(`
930
- `)}function an(e){let t=Object.entries(y).map(([e,t])=>` ${e}: ${t};`).join(`
1610
+ `)}function Vn(e){let t=Object.entries(b).map(([e,t])=>` ${e}: ${t};`).join(`
931
1611
  `);return[e,`html[data-theme="light"] {
932
1612
  color-scheme: light;
933
1613
  }`,`html[data-theme="dark"] {\n color-scheme: dark;\n${t}\n}`,`@media (prefers-color-scheme: dark) {\n html:not([data-theme]) {\n color-scheme: dark;\n${t}\n }\n}`].join(`
934
1614
 
935
- `)}function on(e){return e.length===0?``:e.map(e=>{let t=e.onload?` onload="${e.onload}"`:``;if(!e.fallback)return` <script src="${n(e.src)}"${t}><\/script>`;let r=e.onload?`f.onload=function(){${e.onload}};`:``;return` <script src="${n(e.src)}"${t} onerror="(function(el){var f=document.createElement('script');f.src='${n(e.fallback)}';${r}document.head.appendChild(f);el.remove()})(this)"><\/script>`}).join(`
936
- `)}function sn(e,t){let r=t.transport===`browser`?[` <button type="button" class="aikit-toolbox-item" role="menuitem" onclick="screenshotPage()">`,` <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"><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>`,` <span>Screenshot</span>`,` </button>`]:[];return[` <header class="aikit-header">`,` <div class="aikit-header-brand">AI Kit</div>`,` <div class="aikit-header-title">${n(e)}</div>`,` <div class="aikit-header-actions">`,...r.length>0?[` <div class="aikit-toolbox">`,` <button type="button" class="aikit-toolbox-toggle" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu" onclick="toggleToolbox()">`,` <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"><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>`,` </button>`,` <div id="aikit-toolbox-menu" class="aikit-toolbox-menu" role="menu" hidden>`,...r,` </div>`,` </div>`]:[],` <button type="button" class="aikit-theme-toggle" aria-label="Toggle theme" onclick="toggleTheme()">`,` <span data-theme-toggle-label><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"><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></span>`,` </button>`,` </div>`,` </header>`].join(`
937
- `)}function cn(e){return[` <footer class="aikit-footer">`,` <span>Generated by AI Kit at ${n(e)}</span>`,` </footer>`].join(`
938
- `)}function ln(e){let t=JSON.stringify(e),n=JSON.stringify(`<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"><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>`),r=JSON.stringify(`<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"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`);return[` <script>`,` (() => {`,` const preferredTheme = ${t};`,` const html = document.documentElement;`,` const label = () => document.querySelector("[data-theme-toggle-label]");`,` const toolbox = {`,` container: () => document.querySelector(".aikit-toolbox"),`,` button: () => document.querySelector(".aikit-toolbox-toggle"),`,` menu: () => document.querySelector(".aikit-toolbox-menu"),`,` firstItem: () => document.querySelector(".aikit-toolbox-item"),`,` };`,` const systemTheme = () =>`,` window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches`,` ? "dark"`,` : "light";`,` const resolvedTheme = () => html.getAttribute("data-theme") || systemTheme();`,` const sunIcon = ${n};`,` const moonIcon = ${r};`,` const setToolboxOpen = (open, options = {}) => {`,` const button = toolbox.button();`,` const menu = toolbox.menu();`,` if (!button || !menu) return;`,` menu.hidden = !open;`,` button.setAttribute("aria-expanded", String(open));`,` if (open) {`,` if (options.focusItem) toolbox.firstItem()?.focus();`,` } else if (options.restoreFocus) {`,` button.focus();`,` }`,` };`,` const inlineComputedStyles = (source, clone) => {`,` if (!(source instanceof Element) || !(clone instanceof Element)) return;`,` const computed = window.getComputedStyle(source);`,` const cssText = Array.from(computed)`,` .map((name) => {`,` const value = computed.getPropertyValue(name);`,` const priority = computed.getPropertyPriority(name);`,' return `${name}:${value}${priority ? " !important" : ""};`;',` })`,` .join("");`,` clone.setAttribute("style", cssText);`,` for (let index = 0; index < source.children.length; index += 1) {`,` inlineComputedStyles(source.children[index], clone.children[index]);`,` }`,` };`,` const captureDocumentAsPng = async () => {`,` const width = Math.max(`,` document.documentElement.scrollWidth,`,` document.documentElement.clientWidth,`,` document.body ? document.body.scrollWidth : 0,`,` );`,` const height = Math.max(`,` document.documentElement.scrollHeight,`,` document.documentElement.clientHeight,`,` document.body ? document.body.scrollHeight : 0,`,` );`,` const scale = window.devicePixelRatio || 1;`,` const canvas = document.createElement("canvas");`,` canvas.width = Math.max(1, Math.ceil(width * scale));`,` canvas.height = Math.max(1, Math.ceil(height * scale));`,` const context = canvas.getContext("2d");`,` if (!context) throw new Error("Canvas context unavailable");`,` context.scale(scale, scale);`,` const clone = document.documentElement.cloneNode(true);`,` if (!(clone instanceof Element)) throw new Error("Document clone failed");`,` clone.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");`,` clone.querySelectorAll("script").forEach((node) => node.remove());`,` inlineComputedStyles(document.documentElement, clone);`,' const svgMarkup = [`<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}">`, `<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(clone)}</foreignObject>`, "</svg>"].join("");',` const svgBlob = new Blob([svgMarkup], { type: "image/svg+xml;charset=utf-8" });`,` const objectUrl = URL.createObjectURL(svgBlob);`,` try {`,` await new Promise((resolve, reject) => {`,` const image = new Image();`,` image.onload = () => {`,` context.drawImage(image, 0, 0, width, height);`,` resolve(undefined);`,` };`,` image.onerror = () => reject(new Error("ForeignObject render failed"));`,` image.src = objectUrl;`,` });`,` } finally {`,` URL.revokeObjectURL(objectUrl);`,` }`,` const blob = await new Promise((resolve) => canvas.toBlob(resolve, "image/png"));`,` if (!blob) throw new Error("PNG export failed");`,` const downloadUrl = URL.createObjectURL(blob);`,` const link = document.createElement("a");`,` const timestamp = new Date().toISOString().replace(/[.:]/g, "-");`,` link.href = downloadUrl;`," link.download = `aikit-screenshot-${timestamp}.png`;",` document.body.appendChild(link);`,` link.click();`,` link.remove();`,` URL.revokeObjectURL(downloadUrl);`,` };`,` const updateToggle = (theme) => {`,` const button = document.querySelector(".aikit-theme-toggle");`,` const nextTheme = theme === "dark" ? "light" : "dark";`,` if (button) {`,` button.setAttribute("aria-label", "Switch to " + nextTheme + " theme");`,` button.setAttribute("aria-pressed", String(theme === "dark"));`,` }`,` const toggleLabel = label();`,` if (toggleLabel) toggleLabel.innerHTML = theme === "dark" ? moonIcon : sunIcon;`,` };`,` const applyTheme = (theme) => {`,` html.setAttribute("data-theme", theme);`,` updateToggle(theme);`,` };`,` if (preferredTheme === "light" || preferredTheme === "dark") {`,` applyTheme(preferredTheme);`,` } else {`,` updateToggle(resolvedTheme());`,` }`,` window.toggleTheme = () => {`,` applyTheme(resolvedTheme() === "dark" ? "light" : "dark");`,` };`,` window.toggleToolbox = () => {`,` const menu = toolbox.menu();`,` setToolboxOpen(Boolean(menu?.hidden), { focusItem: Boolean(menu?.hidden) });`,` };`,` window.screenshotPage = async () => {`,` const scrollX = window.scrollX;`,` const scrollY = window.scrollY;`,` setToolboxOpen(false);`,` window.scrollTo(0, 0);`,` await new Promise((resolve) => window.requestAnimationFrame(() => resolve(undefined)));`,` try {`,` await captureDocumentAsPng();`,` } catch (_error) {`,` window.print();`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`,` document.addEventListener("click", (event) => {`,` const container = toolbox.container();`,` if (!container) return;`,` const target = event.target;`,` if (target instanceof Node && container.contains(target)) return;`,` setToolboxOpen(false);`,` });`,` document.addEventListener("keydown", (event) => {`,` if (event.key === "Escape") {`,` setToolboxOpen(false, { restoreFocus: true });`,` return;`,` }`,` if ((event.key === "ArrowDown" || event.key === "Enter" || event.key === " ") && event.target === toolbox.button()) {`,` event.preventDefault();`,` setToolboxOpen(true, { focusItem: true });`,` }`,` });`,` })();`,` <\/script>`].join(`
939
- `)}function un(e,t){if(t!==`local-interactive`)return``;let r=new Set,i=[];for(let t of e)r.has(t.entry)||(r.add(t.entry),i.push(` <script type="module" src="${n(t.entry)}"><\/script>`));return i.join(`
940
- `)}function dn(e){let t=n(e.lang??`en`),r=n(e.dir??`ltr`),i=e.colorScheme??`auto`,a=e.generatedAt??new Date().toISOString(),o=[`lang="${t}"`,`dir="${r}"`];i!==`auto`&&o.push(`data-theme="${i}"`);let s=an(e.tokenCss??w(`light`)),c=on(e.headScripts??[]),l=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${nn(e.payload)}<\/script>`:``,u=un(e.islands,e.exportPolicy),d=(e.headScripts??[]).filter(e=>e.initScript).map(e=>` <script>\n${e.initScript}\n <\/script>`).join(`
941
- `),f=[ln(i),l,u,d].filter(Boolean).join(`
942
- `);return[`<!DOCTYPE html>`,`<html ${o.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,rn(s,e.css),c,`</head>`,`<body data-surface-nonce="${n(e.nonce)}">`,sn(e.title,{exportPolicy:e.exportPolicy,transport:e.transport}),` <main>${e.html}</main>`,cn(a),f,`</body>`,`</html>`].filter(Boolean).join(`
943
- `)}export{E as TemplateRegistry,Le as allCss,x as baseCss,f as blockItems,dn as buildShell,O as checklistTemplate,S as collectCss,Ie as darkTokenNames,y as darkTokens,Qt as dashboardTemplateDefinition,A as dataTableTemplate,Z as defaultRegistry,rt as diffViewTemplate,N as documentTemplate,P as errorTemplate,n as escapeHtml,tn as flameGraphTemplateDefinition,L as formTemplate,a as formatValue,C as generateDarkTokenCss,w as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,$t as kanbanTemplateDefinition,en as listSortTemplateDefinition,V as pickerTemplate,T as renderBlock,He as renderBlocks,Lt as renderSurface,U as reportTemplate,i as sanitizeId,r as sanitizeUrl,G as statusBoardTemplate,K as timelineTemplate,Fe as tokenNames,v as tokens,u as toneName,d as toneVar,X as treeTemplate,o as tryParseJson};
1615
+ `)}function Hn(e){return e.length===0?``:e.map(e=>{let t=e.initScript?` <script>\n${e.initScript}\n <\/script>\n`:``,r=e.onload?` onload="${e.onload}"`:``;if(!e.fallback)return`${t} <script src="${n(e.src)}"${r}><\/script>`;let i=e.onload?`f.onload=function(){${e.onload}};`:``;return`${t} <script src="${n(e.src)}"${r} onerror="(function(el){var f=document.createElement('script');f.src='${n(e.fallback)}';${i}document.head.appendChild(f);el.remove()})(this)"><\/script>`}).join(`
1616
+ `)}function Un(e){return[` <script>`,` (() => {`,` const preferredTheme = ${JSON.stringify(e)};`,` const storageKey = "aikit-theme-mode";`,` const html = document.documentElement;`,` const toolbox = {`,` container: () => document.querySelector(".aikit-toolbox"),`,` button: () => document.querySelector(".aikit-toolbox-toggle"),`,` menu: () => document.querySelector(".aikit-toolbox-menu"),`,` firstItem: () => document.querySelector(".aikit-toolbox-item"),`,` };`,` const systemTheme = () =>`,` window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches`,` ? "dark"`,` : "light";`,` const readStoredTheme = () => {`,` try {`,` const stored = localStorage.getItem("aikit-theme-mode");`,` return stored === "light" || stored === "dark" ? stored : null;`,` } catch (_error) {`,` return null;`,` }`,` };`,` const resolvedTheme = () => html.getAttribute("data-theme") || readStoredTheme() || systemTheme();`,` const setToolboxOpen = (open, options = {}) => {`,` const button = toolbox.button();`,` const menu = toolbox.menu();`,` if (!button || !menu) return;`,` menu.hidden = !open;`,` button.setAttribute("aria-expanded", String(open));`,` if (open) {`,` if (options.focusItem) toolbox.firstItem()?.focus();`,` } else if (options.restoreFocus) {`,` button.focus();`,` }`,` };`,` const inlineComputedStyles = (source, clone) => {`,` if (!(source instanceof Element) || !(clone instanceof Element)) return;`,` const computed = window.getComputedStyle(source);`,` const cssText = Array.from(computed)`,` .map((name) => {`,` const value = computed.getPropertyValue(name);`,` const priority = computed.getPropertyPriority(name);`,' return `${name}:${value}${priority ? " !important" : ""};`;',` })`,` .join("");`,` clone.setAttribute("style", cssText);`,` for (let index = 0; index < source.children.length; index += 1) {`,` inlineComputedStyles(source.children[index], clone.children[index]);`,` }`,` };`,` const captureDocumentAsPng = async () => {`,` const width = Math.max(`,` document.documentElement.scrollWidth,`,` document.documentElement.clientWidth,`,` document.body ? document.body.scrollWidth : 0,`,` );`,` const height = Math.max(`,` document.documentElement.scrollHeight,`,` document.documentElement.clientHeight,`,` document.body ? document.body.scrollHeight : 0,`,` );`,` const scale = window.devicePixelRatio || 1;`,` const canvas = document.createElement("canvas");`,` canvas.width = Math.max(1, Math.ceil(width * scale));`,` canvas.height = Math.max(1, Math.ceil(height * scale));`,` const context = canvas.getContext("2d");`,` if (!context) throw new Error("Canvas context unavailable");`,` context.scale(scale, scale);`,` const clone = document.documentElement.cloneNode(true);`,` if (!(clone instanceof Element)) throw new Error("Document clone failed");`,` clone.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");`,` clone.querySelectorAll("script").forEach((node) => node.remove());`,` inlineComputedStyles(document.documentElement, clone);`,' const svgMarkup = [`<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}">`, `<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(clone)}</foreignObject>`, "</svg>"].join("");',` const svgBlob = new Blob([svgMarkup], { type: "image/svg+xml;charset=utf-8" });`,` const objectUrl = URL.createObjectURL(svgBlob);`,` try {`,` await new Promise((resolve, reject) => {`,` const image = new Image();`,` image.onload = () => {`,` context.drawImage(image, 0, 0, width, height);`,` resolve(undefined);`,` };`,` image.onerror = () => reject(new Error("ForeignObject render failed"));`,` image.src = objectUrl;`,` });`,` } finally {`,` URL.revokeObjectURL(objectUrl);`,` }`,` const blob = await new Promise((resolve) => canvas.toBlob(resolve, "image/png"));`,` if (!blob) throw new Error("PNG export failed");`,` const downloadUrl = URL.createObjectURL(blob);`,` const link = document.createElement("a");`,` const timestamp = new Date().toISOString().replace(/[.:]/g, "-");`,` link.href = downloadUrl;`," link.download = `aikit-screenshot-${timestamp}.png`;",` document.body.appendChild(link);`,` link.click();`,` link.remove();`,` URL.revokeObjectURL(downloadUrl);`,` };`,` const updateToggle = (theme) => {`,` const button = document.querySelector(".aikit-theme-toggle");`,` const nextTheme = theme === "dark" ? "light" : "dark";`,` if (button) {`,` button.setAttribute("aria-label", "Switch to " + nextTheme + " theme");`,` button.setAttribute("aria-pressed", String(theme === "dark"));`,` }`,` };`,` const applyTheme = (theme, persist = true) => {`,` html.setAttribute("data-theme", theme);`,` if (persist) {`,` try {`,` localStorage.setItem("aikit-theme-mode", theme);`,` } catch (_error) {`,` // Ignore storage failures.`,` }`,` }`,` updateToggle(theme);`,` };`,` if (preferredTheme === "light" || preferredTheme === "dark") {`,` applyTheme(preferredTheme, false);`,` } else {`,` applyTheme(readStoredTheme() || systemTheme(), false);`,` }`,` window.toggleTheme = () => {`,` applyTheme(resolvedTheme() === "dark" ? "light" : "dark");`,` };`,` window.toggleToolbox = () => {`,` const menu = toolbox.menu();`,` setToolboxOpen(Boolean(menu?.hidden), { focusItem: Boolean(menu?.hidden) });`,` };`,` window.screenshotPage = async () => {`,` const scrollX = window.scrollX;`,` const scrollY = window.scrollY;`,` setToolboxOpen(false);`,` window.scrollTo(0, 0);`,` await new Promise((resolve) => window.requestAnimationFrame(() => resolve(undefined)));`,` try {`,` await captureDocumentAsPng();`,` } catch (_error) {`,` window.print();`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`,` document.addEventListener("click", (event) => {`,` const container = toolbox.container();`,` if (!container) return;`,` const target = event.target;`,` if (target instanceof Node && container.contains(target)) return;`,` setToolboxOpen(false);`,` });`,` document.addEventListener("keydown", (event) => {`,` if (event.key === "Escape") {`,` setToolboxOpen(false, { restoreFocus: true });`,` return;`,` }`,` if ((event.key === "ArrowDown" || event.key === "Enter" || event.key === " ") && event.target === toolbox.button()) {`,` event.preventDefault();`,` setToolboxOpen(true, { focusItem: true });`,` }`,` });`,` if (preferredTheme === "auto" && window.matchMedia) {`,` const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");`,` mediaQuery.addEventListener("change", () => {`,` if (readStoredTheme()) return;`,` applyTheme(systemTheme(), false);`,` });`,` }`,` })();`,` <\/script>`].join(`
1617
+ `)}function Wn(e,t){if(t!==`local-interactive`)return``;let r=new Set,i=[];for(let t of e)r.has(t.entry)||(r.add(t.entry),i.push(` <script type="module" src="${n(t.entry)}"><\/script>`));return i.join(`
1618
+ `)}function Gn(e){let t=n(e.lang??`en`),r=n(e.dir??`ltr`),i=e.colorScheme??`auto`,a=e.generatedAt??new Date().toISOString(),o=[`lang="${t}"`,`dir="${r}"`];i!==`auto`&&o.push(`data-theme="${i}"`);let s=Vn(e.tokenCss??E(`light`)),c=Hn(e.headScripts??[]),l=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${zn(e.payload)}<\/script>`:``,u=Wn(e.islands,e.exportPolicy),d=[Un(i),l,u].filter(Boolean).join(`
1619
+ `);return[`<!DOCTYPE html>`,`<html ${o.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,Bn(s,e.css),c,`</head>`,`<body data-surface-nonce="${n(e.nonce)}">`,mt({title:e.title,transport:e.transport}),` <main>${e.html}</main>`,ht({generatedAt:a}),d,`</body>`,`</html>`].filter(Boolean).join(`
1620
+ `)}export{D as HEADER_CLASS_NAMES,gt as HEADER_CSS,xt as TemplateRegistry,lt as allCss,S as baseCss,f as blockItems,ht as buildFooter,mt as buildHeader,Gn as buildShell,A as checklistTemplate,C as collectCss,ct as darkTokenNames,b as darkTokens,Fn as dashboardTemplateDefinition,M as dataTableTemplate,Z as defaultRegistry,P as diffViewTemplate,I as documentTemplate,L as errorTemplate,n as escapeHtml,Rn as flameGraphTemplateDefinition,B as formTemplate,a as formatValue,T as generateDarkTokenCss,E as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,In as kanbanTemplateDefinition,Ln as listSortTemplateDefinition,W as pickerTemplate,vt as renderBlock,yt as renderBlocks,bn as renderSurface,K as reportTemplate,i as sanitizeId,r as sanitizeUrl,J as statusBoardTemplate,fn as timelineTemplate,st as tokenNames,y as tokens,u as toneName,d as toneVar,gn as treeTemplate,o as tryParseJson};