@vpxa/aikit 0.1.152 → 0.1.154

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.
@@ -0,0 +1,918 @@
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 ee(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 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`),...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 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){return`<pre class="bk-code"><code class="${(e.language?` language-${i(String(e.language))}`:``).trim()}">${n(String(e.value??``))}</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);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function ce(e,t){return`<div class="bk-docs-browser">${se(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 le(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 ue(e,t){let r=le(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
+ .bk-heading {
4
+ margin: 0;
5
+ color: var(--dt-text-primary);
6
+ font-family: var(--dt-font-sans);
7
+ font-weight: 700;
8
+ line-height: 1.15;
9
+ }
10
+ .bk-heading--1 { font-size: var(--dt-font-size-3xl); }
11
+ .bk-heading--2 { font-size: var(--dt-font-size-2xl); }
12
+ .bk-heading--3 { font-size: var(--dt-font-size-xl); }
13
+ .bk-heading--4 { font-size: var(--dt-font-size-lg); }
14
+ .bk-heading--5,
15
+ .bk-heading--6 { font-size: var(--dt-font-size-base); }
16
+ `;function fe(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 pe=`
17
+ ${h}
18
+ .bk-markdown {
19
+ color: var(--dt-text-primary);
20
+ font-size: var(--dt-font-size-base);
21
+ line-height: 1.7;
22
+ }
23
+ `,me=/^(#{1,6})\s+(.+)$/,he=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function ge(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function _e(e,t){let r=String(e.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=()=>{let e=ge(a);e&&(i.push(e),a.length=0)};for(let e of r.split(/\r?\n/)){let t=e.trim();if(!t){o();continue}let r=t.match(me);if(r){o();let[,e,t]=r,a=e.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${n(t)}</h${a}>`);continue}if(he.test(t)){o(),i.push(`<hr>`);continue}a.push(e)}return o(),`<div class="bk-markdown">${i.join(``)}</div>`}function ve(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function ye(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 be(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>${ye(e.trend)}</article>`).join(``)}</div>`}function xe(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Se(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 Ce(e,t){return`<div class="bk-progress">${Se(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 we(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Te(e,t){return`<pre class="bk-prompt">${n(we(e.value))}</pre>`}function Ee(e,t){return`<hr class="bk-separator">`}function De(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Oe(e,t){return`<div class="bk-status-board">${De(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 ke(e){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.map(String):[],rows:[]}}function Ae(e,t){let{headers:r,rows:i}=ke(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 je(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Me(e,t){return`<div class="bk-tags">${je(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 Ne(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Pe(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 g(e,t){if(Array.isArray(e)){let r=e.map(e=>g(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 g(r.children??[],r.name);let i=Object.entries(r).map(([e,t])=>g(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 Fe(e,t){return`<div class="bk-tree">${g(o(e.value))}</div>`}const _={"--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`},v={"--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)`},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-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(`.`),Le=`--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(`.`),y={actions:`
24
+ .bk-actions {
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ gap: var(--dt-space-3);
28
+ }
29
+
30
+ .bk-action,
31
+ .bk-select {
32
+ min-height: 2.5rem;
33
+ border: 1px solid var(--dt-border-default);
34
+ border-radius: var(--dt-radius-md);
35
+ background: var(--dt-bg-secondary);
36
+ color: var(--dt-text-primary);
37
+ font: inherit;
38
+ }
39
+
40
+ .bk-action {
41
+ padding: 0 var(--dt-space-4);
42
+ cursor: pointer;
43
+ transition: transform var(--dt-transition-fast), box-shadow var(--dt-transition-fast);
44
+ }
45
+
46
+ .bk-action:hover {
47
+ transform: translateY(-1px);
48
+ box-shadow: 0 8px 20px var(--dt-glow-accent);
49
+ }
50
+
51
+ .bk-action--primary {
52
+ background: var(--dt-accent-emphasis);
53
+ border-color: var(--dt-accent-emphasis);
54
+ color: var(--dt-bg-primary);
55
+ }
56
+
57
+ .bk-action--danger {
58
+ background: var(--dt-danger-emphasis);
59
+ border-color: var(--dt-danger-emphasis);
60
+ color: var(--dt-bg-primary);
61
+ }
62
+
63
+ .bk-select {
64
+ padding: 0 var(--dt-space-3);
65
+ }
66
+ `,cards:`
67
+ .bk-cards {
68
+ display: grid;
69
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
70
+ gap: var(--dt-space-4);
71
+ }
72
+
73
+ .bk-card {
74
+ display: grid;
75
+ gap: var(--dt-space-3);
76
+ padding: var(--dt-space-4);
77
+ border: 1px solid var(--dt-border-default);
78
+ border-radius: var(--dt-radius-xl);
79
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
80
+ box-shadow: var(--dt-shadow-sm);
81
+ transition: transform var(--dt-transition-fast), box-shadow var(--dt-transition-fast);
82
+ }
83
+
84
+ .bk-card:hover {
85
+ transform: translateY(-1px);
86
+ box-shadow: 0 12px 28px var(--dt-glow-accent);
87
+ }
88
+
89
+ .bk-card-header {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: space-between;
93
+ gap: var(--dt-space-3);
94
+ }
95
+
96
+ .bk-card-title {
97
+ color: var(--dt-text-primary);
98
+ font-size: var(--dt-font-size-lg);
99
+ font-weight: 600;
100
+ }
101
+
102
+ .bk-card-body,
103
+ .bk-card-description {
104
+ color: var(--dt-text-secondary);
105
+ line-height: 1.6;
106
+ }
107
+
108
+ .bk-card-badge {
109
+ padding: var(--dt-space-1) var(--dt-space-2);
110
+ border-radius: 999px;
111
+ background: var(--dt-accent-subtle);
112
+ color: var(--dt-accent-fg);
113
+ font-size: var(--dt-font-size-xs);
114
+ font-weight: 600;
115
+ }
116
+ `,chart:`
117
+ .bk-chart {
118
+ display: grid;
119
+ gap: var(--dt-space-3);
120
+ }
121
+
122
+ .bk-chart-note {
123
+ color: var(--dt-text-secondary);
124
+ font-size: var(--dt-font-size-sm);
125
+ }
126
+
127
+ .bk-chart-table-wrap {
128
+ overflow-x: auto;
129
+ border: 1px solid var(--dt-border-default);
130
+ border-radius: var(--dt-radius-lg);
131
+ background: var(--dt-bg-secondary);
132
+ }
133
+
134
+ .bk-chart-table {
135
+ width: 100%;
136
+ border-collapse: collapse;
137
+ }
138
+
139
+ .bk-chart-table th,
140
+ .bk-chart-table td {
141
+ padding: var(--dt-space-3) var(--dt-space-4);
142
+ border-bottom: 1px solid var(--dt-border-muted);
143
+ text-align: left;
144
+ }
145
+ `,checklist:`
146
+ .bk-checklist {
147
+ display: grid;
148
+ gap: var(--dt-space-2);
149
+ margin: 0;
150
+ padding: 0;
151
+ list-style: none;
152
+ }
153
+
154
+ .bk-checklist-item {
155
+ display: flex;
156
+ align-items: flex-start;
157
+ gap: var(--dt-space-3);
158
+ padding: var(--dt-space-3) var(--dt-space-4);
159
+ border: 1px solid var(--dt-border-default);
160
+ border-radius: var(--dt-radius-lg);
161
+ background: var(--dt-bg-secondary);
162
+ }
163
+
164
+ .bk-checklist-icon {
165
+ display: inline-flex;
166
+ align-items: center;
167
+ justify-content: center;
168
+ width: var(--dt-space-6);
169
+ height: var(--dt-space-6);
170
+ border-radius: 999px;
171
+ background: var(--dt-danger-subtle);
172
+ color: var(--dt-danger-fg);
173
+ font-size: var(--dt-font-size-sm);
174
+ font-weight: 700;
175
+ }
176
+
177
+ .bk-checklist-item[data-checked='true'] .bk-checklist-icon {
178
+ background: var(--dt-success-subtle);
179
+ color: var(--dt-success-fg);
180
+ }
181
+
182
+ .bk-checklist-label {
183
+ color: var(--dt-text-primary);
184
+ }
185
+ `,code:`
186
+ .bk-code {
187
+ margin: 0;
188
+ padding: var(--dt-space-4);
189
+ overflow-x: auto;
190
+ border: 1px solid var(--dt-border-default);
191
+ border-radius: var(--dt-radius-lg);
192
+ background: var(--dt-bg-secondary);
193
+ color: var(--dt-text-primary);
194
+ box-shadow: 0 0 0 1px var(--dt-glow-purple);
195
+ }
196
+
197
+ .bk-code code {
198
+ font-family: var(--dt-font-mono);
199
+ font-size: var(--dt-font-size-sm);
200
+ line-height: 1.6;
201
+ }
202
+ `,comparison:`
203
+ .bk-comparison {
204
+ display: grid;
205
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
206
+ gap: var(--dt-space-4);
207
+ }
208
+
209
+ .bk-comparison-column {
210
+ display: grid;
211
+ gap: var(--dt-space-3);
212
+ padding: var(--dt-space-4);
213
+ border: 1px solid var(--dt-border-default);
214
+ border-radius: var(--dt-radius-lg);
215
+ background: var(--dt-bg-secondary);
216
+ }
217
+
218
+ .bk-comparison-title {
219
+ color: var(--dt-text-primary);
220
+ font-size: var(--dt-font-size-lg);
221
+ font-weight: 600;
222
+ }
223
+
224
+ .bk-comparison-items {
225
+ display: grid;
226
+ gap: var(--dt-space-2);
227
+ margin: 0;
228
+ padding-left: var(--dt-space-4);
229
+ color: var(--dt-text-secondary);
230
+ }
231
+ `,"docs-browser":`
232
+ .bk-docs-browser {
233
+ display: grid;
234
+ gap: var(--dt-space-3);
235
+ }
236
+
237
+ .bk-doc-entry {
238
+ display: grid;
239
+ gap: var(--dt-space-2);
240
+ padding: var(--dt-space-4);
241
+ border: 1px solid var(--dt-border-default);
242
+ border-radius: var(--dt-radius-lg);
243
+ background: var(--dt-bg-secondary);
244
+ }
245
+
246
+ .bk-doc-header {
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: space-between;
250
+ gap: var(--dt-space-3);
251
+ }
252
+
253
+ .bk-doc-title {
254
+ color: var(--dt-text-primary);
255
+ font-weight: 600;
256
+ }
257
+
258
+ .bk-doc-path,
259
+ .bk-doc-content {
260
+ color: var(--dt-text-secondary);
261
+ }
262
+
263
+ .bk-doc-content {
264
+ margin: 0;
265
+ font-family: var(--dt-font-mono);
266
+ font-size: var(--dt-font-size-sm);
267
+ white-space: pre-wrap;
268
+ }
269
+
270
+ .bk-doc-status {
271
+ padding: var(--dt-space-1) var(--dt-space-2);
272
+ border-radius: 999px;
273
+ font-size: var(--dt-font-size-xs);
274
+ font-weight: 700;
275
+ }
276
+ `,finding:`
277
+ .bk-finding {
278
+ display: grid;
279
+ gap: var(--dt-space-3);
280
+ padding: var(--dt-space-4);
281
+ border: 1px solid var(--dt-border-default);
282
+ border-radius: var(--dt-radius-xl);
283
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
284
+ box-shadow: var(--dt-shadow-sm);
285
+ }
286
+
287
+ .bk-finding-header {
288
+ display: flex;
289
+ align-items: center;
290
+ justify-content: space-between;
291
+ gap: var(--dt-space-3);
292
+ }
293
+
294
+ .bk-finding-title {
295
+ color: var(--dt-text-primary);
296
+ font-size: var(--dt-font-size-lg);
297
+ font-weight: 700;
298
+ }
299
+
300
+ .bk-finding-severity {
301
+ padding: var(--dt-space-1) var(--dt-space-2);
302
+ border-radius: 999px;
303
+ font-size: var(--dt-font-size-xs);
304
+ font-weight: 700;
305
+ text-transform: uppercase;
306
+ }
307
+
308
+ .bk-finding-detail {
309
+ color: var(--dt-text-secondary);
310
+ line-height: 1.7;
311
+ }
312
+ `,graph:`
313
+ .bk-graph {
314
+ margin: 0;
315
+ padding: var(--dt-space-4);
316
+ overflow-x: auto;
317
+ border: 1px solid var(--dt-border-default);
318
+ border-radius: var(--dt-radius-lg);
319
+ background: var(--dt-bg-secondary);
320
+ color: var(--dt-text-primary);
321
+ font-family: var(--dt-font-mono);
322
+ font-size: var(--dt-font-size-sm);
323
+ line-height: 1.6;
324
+ }
325
+ `,heading:h,markdown:pe,mermaid:`
326
+ .bk-mermaid {
327
+ margin: 0;
328
+ padding: var(--dt-space-4);
329
+ overflow-x: auto;
330
+ border: 1px solid var(--dt-border-default);
331
+ border-radius: var(--dt-radius-lg);
332
+ background: var(--dt-bg-secondary);
333
+ color: var(--dt-text-primary);
334
+ font-family: var(--dt-font-mono);
335
+ font-size: var(--dt-font-size-sm);
336
+ line-height: 1.6;
337
+ }
338
+ `,metrics:`
339
+ .bk-metrics {
340
+ display: grid;
341
+ grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
342
+ gap: var(--dt-space-4);
343
+ }
344
+
345
+ .bk-metric {
346
+ display: grid;
347
+ gap: var(--dt-space-2);
348
+ padding: var(--dt-space-4);
349
+ border: 1px solid var(--dt-border-default);
350
+ border-radius: var(--dt-radius-lg);
351
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
352
+ box-shadow: 0 0 0 1px var(--dt-accent-subtle), var(--dt-shadow-sm);
353
+ transition: transform var(--dt-transition-fast), box-shadow var(--dt-transition-fast);
354
+ }
355
+
356
+ .bk-metric:hover {
357
+ transform: translateY(-1px);
358
+ box-shadow: 0 0 0 1px var(--dt-accent-muted), 0 10px 28px var(--dt-glow-accent);
359
+ }
360
+
361
+ .bk-metric-value {
362
+ color: var(--dt-text-primary);
363
+ font-size: var(--dt-font-size-2xl);
364
+ font-weight: 700;
365
+ }
366
+
367
+ .bk-metric-label,
368
+ .bk-metric-trend {
369
+ color: var(--dt-text-secondary);
370
+ font-size: var(--dt-font-size-sm);
371
+ }
372
+ `,paragraph:`
373
+ .bk-paragraph {
374
+ margin: 0;
375
+ color: var(--dt-text-primary);
376
+ font-size: var(--dt-font-size-base);
377
+ line-height: 1.7;
378
+ }
379
+ `,progress:`
380
+ .bk-progress {
381
+ display: grid;
382
+ gap: var(--dt-space-3);
383
+ }
384
+
385
+ .bk-progress-item {
386
+ display: grid;
387
+ gap: var(--dt-space-2);
388
+ }
389
+
390
+ .bk-progress-meta {
391
+ display: flex;
392
+ justify-content: space-between;
393
+ gap: var(--dt-space-3);
394
+ color: var(--dt-text-primary);
395
+ font-size: var(--dt-font-size-sm);
396
+ }
397
+
398
+ .bk-progress-track {
399
+ overflow: hidden;
400
+ height: 0.75rem;
401
+ border-radius: 999px;
402
+ background: var(--dt-bg-tertiary);
403
+ box-shadow: inset 0 0 0 1px var(--dt-border-muted);
404
+ }
405
+
406
+ .bk-progress-bar {
407
+ display: block;
408
+ height: 100%;
409
+ min-width: 0;
410
+ border-radius: inherit;
411
+ background: var(--dt-accent-emphasis);
412
+ box-shadow: 0 0 16px var(--dt-glow-accent);
413
+ }
414
+ `,prompt:`
415
+ .bk-prompt {
416
+ margin: 0;
417
+ padding: var(--dt-space-4);
418
+ border: 1px solid var(--dt-border-default);
419
+ border-radius: var(--dt-radius-lg);
420
+ background: linear-gradient(180deg, var(--dt-bg-secondary), var(--dt-bg-primary));
421
+ color: var(--dt-text-primary);
422
+ font-family: var(--dt-font-mono);
423
+ font-size: var(--dt-font-size-sm);
424
+ line-height: 1.6;
425
+ white-space: pre-wrap;
426
+ }
427
+ `,separator:`
428
+ .bk-separator {
429
+ margin: var(--dt-space-6) 0;
430
+ border: 0;
431
+ border-top: 1px solid var(--dt-border-default);
432
+ }
433
+ `,"status-board":`
434
+ .bk-status-board {
435
+ display: grid;
436
+ gap: var(--dt-space-4);
437
+ }
438
+
439
+ .bk-status-category {
440
+ display: grid;
441
+ gap: var(--dt-space-3);
442
+ padding: var(--dt-space-4);
443
+ border: 1px solid var(--dt-border-default);
444
+ border-radius: var(--dt-radius-lg);
445
+ background: var(--dt-bg-secondary);
446
+ }
447
+
448
+ .bk-status-category-title {
449
+ color: var(--dt-text-primary);
450
+ font-size: var(--dt-font-size-lg);
451
+ font-weight: 600;
452
+ }
453
+
454
+ .bk-status-items {
455
+ display: grid;
456
+ gap: var(--dt-space-2);
457
+ }
458
+
459
+ .bk-status-item {
460
+ display: flex;
461
+ align-items: flex-start;
462
+ gap: var(--dt-space-3);
463
+ }
464
+
465
+ .bk-status-pill {
466
+ display: inline-flex;
467
+ align-items: center;
468
+ justify-content: center;
469
+ min-width: 5.5rem;
470
+ padding: var(--dt-space-1) var(--dt-space-2);
471
+ border-radius: 999px;
472
+ background: var(--dt-accent-subtle);
473
+ color: var(--dt-accent-fg);
474
+ font-size: var(--dt-font-size-xs);
475
+ font-weight: 700;
476
+ text-transform: uppercase;
477
+ }
478
+
479
+ .bk-status-copy {
480
+ display: grid;
481
+ gap: var(--dt-space-1);
482
+ }
483
+
484
+ .bk-status-label {
485
+ color: var(--dt-text-primary);
486
+ }
487
+
488
+ .bk-status-description {
489
+ color: var(--dt-text-secondary);
490
+ }
491
+ `,table:`
492
+ .bk-table-wrap {
493
+ overflow-x: auto;
494
+ border: 1px solid var(--dt-border-default);
495
+ border-radius: var(--dt-radius-lg);
496
+ background: var(--dt-bg-secondary);
497
+ box-shadow: var(--dt-shadow-sm);
498
+ }
499
+
500
+ .bk-table {
501
+ width: 100%;
502
+ border-collapse: collapse;
503
+ font-size: var(--dt-font-size-sm);
504
+ }
505
+
506
+ .bk-table thead th {
507
+ position: sticky;
508
+ top: 0;
509
+ z-index: 1;
510
+ background: var(--dt-bg-tertiary);
511
+ color: var(--dt-text-primary);
512
+ }
513
+
514
+ .bk-table th,
515
+ .bk-table td {
516
+ padding: var(--dt-space-3) var(--dt-space-4);
517
+ border-bottom: 1px solid var(--dt-border-muted);
518
+ text-align: left;
519
+ vertical-align: top;
520
+ }
521
+
522
+ .bk-table tbody tr:nth-child(even) {
523
+ background: color-mix(in srgb, var(--dt-bg-secondary) 82%, var(--dt-accent-subtle));
524
+ }
525
+ `,tags:`
526
+ .bk-tags {
527
+ display: flex;
528
+ flex-wrap: wrap;
529
+ gap: var(--dt-space-2);
530
+ }
531
+
532
+ .bk-tag {
533
+ display: inline-flex;
534
+ align-items: center;
535
+ padding: var(--dt-space-1) var(--dt-space-3);
536
+ border-radius: 999px;
537
+ background: var(--dt-accent-subtle);
538
+ color: var(--dt-accent-fg);
539
+ font-size: var(--dt-font-size-xs);
540
+ font-weight: 700;
541
+ }
542
+ `,text:`
543
+ .bk-text {
544
+ color: var(--dt-text-primary);
545
+ font-size: var(--dt-font-size-base);
546
+ line-height: 1.7;
547
+ }
548
+ `,timeline:`
549
+ .bk-timeline {
550
+ display: grid;
551
+ gap: var(--dt-space-4);
552
+ }
553
+
554
+ .bk-timeline-item {
555
+ position: relative;
556
+ display: grid;
557
+ gap: var(--dt-space-2);
558
+ padding-left: calc(var(--dt-space-6) + var(--dt-space-2));
559
+ }
560
+
561
+ .bk-timeline-item::before {
562
+ content: '';
563
+ position: absolute;
564
+ inset: 0 auto 0 var(--dt-space-3);
565
+ width: 1px;
566
+ background: var(--dt-border-default);
567
+ }
568
+
569
+ .bk-timeline-dot {
570
+ position: absolute;
571
+ top: var(--dt-space-1);
572
+ left: 0;
573
+ width: var(--dt-space-6);
574
+ height: var(--dt-space-6);
575
+ border: 3px solid var(--dt-bg-primary);
576
+ border-radius: 999px;
577
+ background: var(--dt-accent-emphasis);
578
+ box-shadow: 0 0 0 6px var(--dt-glow-accent);
579
+ }
580
+
581
+ .bk-timeline-title {
582
+ color: var(--dt-text-primary);
583
+ font-weight: 600;
584
+ }
585
+
586
+ .bk-timeline-description,
587
+ .bk-timeline-timestamp {
588
+ color: var(--dt-text-secondary);
589
+ }
590
+ `,tree:`
591
+ .bk-tree {
592
+ display: grid;
593
+ gap: var(--dt-space-2);
594
+ }
595
+
596
+ .bk-tree-node {
597
+ padding-left: var(--dt-space-3);
598
+ border-left: 1px solid var(--dt-border-default);
599
+ }
600
+
601
+ .bk-tree-node > summary {
602
+ cursor: pointer;
603
+ color: var(--dt-text-primary);
604
+ font-weight: 600;
605
+ }
606
+
607
+ .bk-tree-children {
608
+ display: grid;
609
+ gap: var(--dt-space-2);
610
+ margin-top: var(--dt-space-2);
611
+ }
612
+
613
+ .bk-tree-leaf {
614
+ display: flex;
615
+ gap: var(--dt-space-2);
616
+ color: var(--dt-text-secondary);
617
+ }
618
+
619
+ .bk-tree-key {
620
+ color: var(--dt-text-primary);
621
+ }
622
+ `},Re=`
623
+ .bk-section {
624
+ display: grid;
625
+ gap: var(--dt-space-3);
626
+ margin: 0 0 var(--dt-space-6);
627
+ }
628
+
629
+ .bk-section-title {
630
+ margin: 0;
631
+ color: var(--dt-text-primary);
632
+ font-family: var(--dt-font-sans);
633
+ font-size: var(--dt-font-size-lg);
634
+ font-weight: 700;
635
+ }
636
+
637
+ .bk-text,
638
+ .bk-markdown,
639
+ .bk-paragraph,
640
+ .bk-fallback,
641
+ .bk-prompt,
642
+ .bk-heading,
643
+ .bk-table,
644
+ .bk-docs-browser,
645
+ .bk-actions,
646
+ .bk-comparison,
647
+ .bk-status-board,
648
+ .bk-progress,
649
+ .bk-timeline,
650
+ .bk-tree,
651
+ .bk-tags,
652
+ .bk-cards,
653
+ .bk-metrics,
654
+ .bk-chart,
655
+ .bk-code,
656
+ .bk-mermaid,
657
+ .bk-graph,
658
+ .bk-checklist,
659
+ .bk-finding {
660
+ font-family: var(--dt-font-sans);
661
+ }
662
+
663
+ .bk-text a,
664
+ .bk-markdown a,
665
+ .bk-finding a {
666
+ color: var(--dt-accent-fg);
667
+ text-decoration: none;
668
+ }
669
+
670
+ .bk-text code,
671
+ .bk-markdown code,
672
+ .bk-finding code {
673
+ padding: 0 var(--dt-space-1);
674
+ border-radius: var(--dt-radius-sm);
675
+ background: var(--dt-bg-tertiary);
676
+ color: var(--dt-purple-fg);
677
+ font-family: var(--dt-font-mono);
678
+ font-size: 0.95em;
679
+ }
680
+
681
+ .bk-fallback {
682
+ margin: 0;
683
+ padding: var(--dt-space-4);
684
+ border: 1px solid var(--dt-border-default);
685
+ border-radius: var(--dt-radius-lg);
686
+ background: var(--dt-bg-secondary);
687
+ color: var(--dt-text-secondary);
688
+ font-family: var(--dt-font-mono);
689
+ font-size: var(--dt-font-size-sm);
690
+ white-space: pre-wrap;
691
+ }
692
+
693
+ .bk-visually-hidden {
694
+ position: absolute;
695
+ width: 1px;
696
+ height: 1px;
697
+ padding: 0;
698
+ margin: -1px;
699
+ overflow: hidden;
700
+ clip: rect(0, 0, 0, 0);
701
+ white-space: nowrap;
702
+ border: 0;
703
+ }
704
+ `;function b(e){let t=[Re],n=new Set;for(let r of e)!n.has(r)&&y[r]&&(n.add(r),t.push(y[r]));return t.join(`
705
+ `)}function ze(){return b(Object.keys(y))}function x(e){return Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
706
+ `)}function Be(e,t){let n=` `.repeat(t);return e.split(`
707
+ `).map(e=>`${n}${e}`).join(`
708
+ `)}function Ve(e){return e===`dark`?{..._,...v}:{..._}}function S(){return x(v)}function C(e=`auto`){let t=`:root {\n${x(Ve(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 {
709
+ color-scheme: light;
710
+ }`,[`@media (prefers-color-scheme: dark) {`,` :root {`,Be(S(),4),` }`,``,` html {`,` color-scheme: dark;`,` }`,`}`].join(`
711
+ `)].join(`
712
+
713
+ `)}const He={actions:ee,cards:te,chart:ne,checklist:re,code:ie,comparison:oe,"docs-browser":ce,finding:ue,graph:de,heading:fe,markdown:_e,mermaid:ve,metrics:be,paragraph:xe,progress:Ce,prompt:Te,separator:Ee,"status-board":Oe,table:Ae,tags:Me,text:Ne,timeline:Pe,tree:Fe};function w(e,t){let r={...e,value:o(e.value)},i=He[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 T(e,t){return e.map(e=>w(e,t)).join(`
714
+ `)}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(`
715
+ `);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(`
716
+ `)}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=T(o,i),u=[b(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;return{surfaceId:f,nonce:d,html:l,css:u,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=[`
717
+ * {
718
+ box-sizing: border-box;
719
+ }
720
+
721
+ html {
722
+ font-size: 16px;
723
+ }
724
+
725
+ body {
726
+ margin: 0;
727
+ display: flex;
728
+ flex-direction: column;
729
+ min-height: 100vh;
730
+ background: var(--dt-bg-canvas, var(--dt-bg-primary));
731
+ color: var(--dt-text-primary);
732
+ font-family: var(--dt-font-sans);
733
+ }
734
+
735
+ .aikit-header {
736
+ position: sticky;
737
+ top: 0;
738
+ z-index: 100;
739
+ display: flex;
740
+ align-items: center;
741
+ justify-content: space-between;
742
+ gap: var(--dt-space-4);
743
+ padding: var(--dt-space-2) var(--dt-space-4);
744
+ border-bottom: 1px solid var(--dt-border-default);
745
+ background: color-mix(in srgb, var(--dt-bg-primary) 92%, transparent);
746
+ backdrop-filter: blur(14px);
747
+ }
748
+
749
+ .aikit-header-brand,
750
+ .aikit-header-actions {
751
+ flex: 0 0 10rem;
752
+ }
753
+
754
+ .aikit-header-brand {
755
+ color: var(--dt-text-primary);
756
+ font-size: var(--dt-font-size-sm);
757
+ font-weight: 700;
758
+ letter-spacing: 0.08em;
759
+ text-transform: uppercase;
760
+ }
761
+
762
+ .aikit-header-title {
763
+ flex: 1 1 auto;
764
+ min-width: 0;
765
+ color: var(--dt-text-primary);
766
+ font-size: var(--dt-font-size-lg);
767
+ font-weight: 600;
768
+ text-align: center;
769
+ white-space: nowrap;
770
+ overflow: hidden;
771
+ text-overflow: ellipsis;
772
+ }
773
+
774
+ .aikit-header-actions {
775
+ display: flex;
776
+ align-items: center;
777
+ gap: var(--dt-space-2);
778
+ justify-content: flex-end;
779
+ }
780
+
781
+ .aikit-toolbox {
782
+ position: relative;
783
+ }
784
+
785
+ .aikit-theme-toggle,
786
+ .aikit-toolbox-toggle {
787
+ display: inline-flex;
788
+ align-items: center;
789
+ justify-content: center;
790
+ width: 2rem;
791
+ height: 2rem;
792
+ padding: 0;
793
+ border: 1px solid var(--dt-border-default);
794
+ border-radius: var(--dt-radius-md);
795
+ background: var(--dt-bg-secondary);
796
+ color: var(--dt-text-primary);
797
+ box-shadow: var(--dt-shadow-sm);
798
+ cursor: pointer;
799
+ font: inherit;
800
+ transition:
801
+ background var(--dt-transition-fast),
802
+ border-color var(--dt-transition-fast),
803
+ color var(--dt-transition-fast),
804
+ box-shadow var(--dt-transition-fast);
805
+ }
806
+
807
+ .aikit-theme-toggle:hover,
808
+ .aikit-toolbox-toggle:hover {
809
+ background: var(--dt-bg-tertiary);
810
+ }
811
+
812
+ .aikit-theme-toggle:focus-visible,
813
+ .aikit-toolbox-toggle:focus-visible,
814
+ .aikit-toolbox-item:focus-visible {
815
+ outline: 2px solid var(--dt-accent-fg);
816
+ outline-offset: 2px;
817
+ }
818
+
819
+ .aikit-toolbox-menu {
820
+ position: absolute;
821
+ top: calc(100% + var(--dt-space-2));
822
+ right: 0;
823
+ min-width: 11rem;
824
+ display: grid;
825
+ gap: var(--dt-space-1);
826
+ padding: var(--dt-space-2);
827
+ border: 1px solid var(--dt-border-default);
828
+ border-radius: var(--dt-radius-md);
829
+ background: var(--dt-bg-primary);
830
+ box-shadow: var(--dt-shadow-lg);
831
+ z-index: 120;
832
+ }
833
+
834
+ .aikit-toolbox-menu[hidden] {
835
+ display: none;
836
+ }
837
+
838
+ .aikit-toolbox-item {
839
+ display: inline-flex;
840
+ align-items: center;
841
+ gap: var(--dt-space-2);
842
+ width: 100%;
843
+ min-height: 2.25rem;
844
+ padding: 0 var(--dt-space-3);
845
+ border: 1px solid transparent;
846
+ border-radius: var(--dt-radius-sm);
847
+ background: transparent;
848
+ color: var(--dt-text-primary);
849
+ cursor: pointer;
850
+ font: inherit;
851
+ text-align: left;
852
+ }
853
+
854
+ .aikit-toolbox-item:hover {
855
+ background: var(--dt-bg-secondary);
856
+ border-color: var(--dt-border-default);
857
+ }
858
+
859
+ .aikit-toolbox-item svg {
860
+ flex: 0 0 auto;
861
+ }
862
+
863
+ main {
864
+ flex: 1;
865
+ width: 100%;
866
+ max-width: 100%;
867
+ padding: var(--dt-space-8) var(--dt-space-4);
868
+ }
869
+
870
+ .aikit-footer {
871
+ margin-top: auto;
872
+ padding: var(--dt-space-4);
873
+ border-top: 1px solid var(--dt-border-default);
874
+ color: var(--dt-text-secondary);
875
+ font-size: var(--dt-font-size-xs);
876
+ text-align: center;
877
+ }
878
+
879
+ @supports not (background: color-mix(in srgb, white 50%, transparent)) {
880
+ .aikit-header {
881
+ background: var(--dt-bg-primary);
882
+ }
883
+ }
884
+
885
+ @media (max-width: 640px) {
886
+ .aikit-header {
887
+ flex-wrap: wrap;
888
+ }
889
+
890
+ .aikit-header-brand,
891
+ .aikit-header-actions,
892
+ .aikit-header-title {
893
+ flex: 1 1 100%;
894
+ }
895
+
896
+ .aikit-header-title {
897
+ order: 3;
898
+ text-align: left;
899
+ }
900
+
901
+ .aikit-header-actions {
902
+ justify-content: flex-start;
903
+ }
904
+ }
905
+ `,...t.filter(e=>e.trim().length>0)].join(`
906
+ `);return[` <style>${e}</style>`,` <style>${n}</style>`].join(`
907
+ `)}function an(e){let t=Object.entries(v).map(([e,t])=>` ${e}: ${t};`).join(`
908
+ `);return[e,`html[data-theme="light"] {
909
+ color-scheme: light;
910
+ }`,`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(`
911
+
912
+ `)}function on(e){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">`,` <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>`,` <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>`,` </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(`
913
+ `)}function sn(e){return[` <footer class="aikit-footer">`,` <span>Generated by AI Kit at ${n(e)}</span>`,` </footer>`].join(`
914
+ `)}function cn(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(`
915
+ `)}function ln(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(`
916
+ `)}function un(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??C(`light`)),c=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${nn(e.payload)}<\/script>`:``,l=ln(e.islands,e.exportPolicy),u=[cn(i),c,l].filter(Boolean).join(`
917
+ `);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),`</head>`,`<body data-surface-nonce="${n(e.nonce)}">`,on(e.title),` <main>${e.html}</main>`,sn(a),u,`</body>`,`</html>`].filter(Boolean).join(`
918
+ `)}export{E as TemplateRegistry,ze as allCss,Re as baseCss,f as blockItems,un as buildShell,O as checklistTemplate,b as collectCss,Le as darkTokenNames,v 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,S as generateDarkTokenCss,C as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,$t as kanbanTemplateDefinition,en as listSortTemplateDefinition,V as pickerTemplate,w as renderBlock,T as renderBlocks,Lt as renderSurface,U as reportTemplate,i as sanitizeId,r as sanitizeUrl,G as statusBoardTemplate,K as timelineTemplate,Ie as tokenNames,_ as tokens,u as toneName,d as toneVar,X as treeTemplate,o as tryParseJson};