@vpxa/aikit 0.1.296 → 0.1.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/aikit.mjs +27 -2
- package/package.json +1 -1
- package/packages/blocks-core/dist/index.mjs +54 -36
- package/packages/cli/dist/index.js +18 -18
- package/packages/cli/dist/{init-DWIr_CT8.js → init-WmQoeitD.js} +1 -1
- package/packages/cli/dist/{templates-Cc3Rn_zv.js → templates-BQ1J4HzY.js} +13 -13
- package/packages/present/dist/index.html +39 -22
- package/packages/server/dist/bin.js +3 -3
- package/packages/server/dist/{curated-manager-C5uOPept.js → curated-manager-i5QA4c79.js} +2 -2
- package/packages/server/dist/index.d.ts +30 -3
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/promotion-DmwIVl0c.js +2 -0
- package/packages/server/dist/promotion-bQutAIz-.js +3 -0
- package/packages/server/dist/{server-BRinO5Fx.js → server-CYLGfaH1.js} +156 -155
- package/packages/server/dist/{server-CyERdqK0.js → server-R054LFb1.js} +156 -155
- package/packages/server/viewers/canvas.html +85 -68
- package/packages/server/viewers/report-template.html +21 -4
- package/packages/server/viewers/tour-viewer.html +25 -8
- package/packages/store/dist/index.js +2 -2
- package/scaffold/definitions/mcp-entry.json +1 -1
- package/scaffold/dist/definitions/mcp-entry.json +1 -1
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/docs.mjs +1 -1
- package/scaffold/dist/definitions/skills/present.mjs +1 -1
- package/packages/server/dist/promotion-CJFYv4Ye.js +0 -3
- package/packages/server/dist/promotion-D9anNXv8.js +0 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}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>`}if(e.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${t}"><input type="text" class="bk-input" placeholder="${n(e.label)}" data-action-id="${t}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${t}">Send</button></div>`;if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}"><fieldset>${Object.entries(r).map(([e,t])=>{let r=t.description??e,i=t.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${n(r)}</span><input type="${i}" class="bk-input" name="${n(e)}" placeholder="${n(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${n(e.label)}</button></fieldset></form>`}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>`}const h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],te=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function ne(e,t){let n=re(e),r=de(n.headers,n.data);if(n.data.length===0||!te.has(n.chartType))return fe(n.note,r);let i=ie(n);if(!i)return fe(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?me(a):``}${pe(r)}</div>`}function re(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=te.has(i)?i:`bar`,s=n(i),c=he(r,String(t?.xKey??`label`)),l=Array.isArray(t?.yKeys)?t.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:a,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return ce(e,!1);case`donut`:return ce(e,!0);case`sparkline`:return le(e);case`heatmap`:return ue(e);default:return``}}function ae(e,t){let r=g(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=v(i),o=_(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>xe(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=h[n%h.length],c=r.map((e,t)=>{let r=s[t],i=y(e.values[n],a,o.bottom,o.top);return`${w(r)},${w(i)}`}),l=r.map((e,t)=>{let r=s[t],c=y(e.values[n],a,o.bottom,o.top);return`<circle cx="${w(r)}" cy="${w(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return t?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${w(s[0])},${w(o.bottom)}`,...c,`${w(s[s.length-1])},${w(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n(`${e.chartType} chart`)}">${_e(o,a)}${ye(o)}${be(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=g(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=v(n,{includeZero:!0}),i=_(500,300,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=y(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=h[t%h.length],s=n+t*(o+4),l=y(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${w(s)}" y="${w(u)}" width="${w(o)}" height="${w(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${_e(i,r)}${ye(i)}${be(t,u,i.bottom+18)}${l}</svg>`}function se(e){let t=g(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=v(r,{includeZero:!0}),a=_(500,300,{left:110,right:20,top:20,bottom:36}),o=a.height/t.length,s=Math.max(4,Math.min(18,(o-8-4*(e.yKeys.length-1))/e.yKeys.length)),c=e.yKeys.length*s+(e.yKeys.length-1)*4,l=y(0,i,a.left,a.right),u=t.map((e,t)=>{let r=a.top+t*o+(o-c)/2,u=a.top+t*o+o/2+4;return`${`<text class="bk-chart-label" x="${w(a.left-8)}" y="${w(u)}" text-anchor="end">${n(e.label)}</text>`}${e.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=y(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${w(u)}" y="${w(o)}" width="${w(d)}" height="${w(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ve(a,i)}<line class="bk-chart-axis" x1="${w(l)}" y1="${w(a.top)}" x2="${w(l)}" y2="${w(a.bottom)}" />${u}</svg>`}function ce(e,t){let r=ge(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:x(t[e.xKey]),value:S(t[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=t?88*.6:0,s=-90,c=[],l=[];i.forEach((e,r)=>{let i=h[r%h.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?Ce(150,140,88,o,s,d):Se(150,140,88,s,d);c.push(`${p?`<path d="${p}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="150" cy="140" r="88" fill="${i}" />`}`);let m=b(150,140,108,s+u/2);l.push(`<text class="bk-chart-slice-label" x="${w(m.x)}" y="${w(m.y)}" text-anchor="${m.x>=150?`start`:`end`}">${n(e.label)} ${n(C(f))}%</text>`),s=d});let u=t?`<circle cx="150" cy="140" r="${w(o-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 300 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${t?`donut chart`:`pie chart`}">${c.join(``)}${u}${l.join(``)}</svg>`}function le(e){let t=ge(e.data,e.xKey,e.yKeys),n=e.data.map(e=>S(e[t]));if(n.every(e=>e===0))return``;let r=v(n),i=n.map((e,t)=>{let i=xe(t,n.length,0,100),a=y(e,r,28,2);return`${w(i)},${w(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 100 30" width="100%" height="30" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ue(e){let t=e.data.map(t=>({label:x(t[e.xKey]),values:e.yKeys.map(e=>S(t[e]))})),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=v(r),a=_(500,300,{left:80,right:20,top:42,bottom:20}),o=a.width/e.yKeys.length,s=a.height/t.length;return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${e.yKeys.map((e,t)=>`<text class="bk-chart-label" x="${w(a.left+t*o+o/2)}" y="28" text-anchor="middle">${n(e)}</text>`).join(``)}${t.map((e,t)=>{let r=a.top+t*s+s/2+4;return`<text class="bk-chart-label" x="${w(a.left-8)}" y="${w(r)}" text-anchor="end">${n(e.label)}</text>`}).join(``)}${t.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${w(r)}" y="${w(c)}" width="${w(o-4)}" height="${w(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${we(e,i)}" />`}).join(``)).join(``)}</svg>`}function de(e,t){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${e.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead><tbody>${t.map(t=>`<tr>${e.map(e=>`<td>${n(a(t[e]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function fe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function pe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function me(e){return`<div class="bk-chart-legend">${e.map((e,t)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${h[t%h.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function he(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function ge(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Te(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Te(n[e]));if(e)return e}return n[0]??`value`}function g(e,t,n){return e.map(e=>({label:x(e[t]),values:n.map(t=>S(e[t]))}))}function _e(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.max-a*(t.max-t.min),s=e.top+a*e.height;return`<line class="bk-chart-grid" x1="${w(e.left)}" y1="${w(s)}" x2="${w(e.right)}" y2="${w(s)}" /><text class="bk-chart-label" x="${w(e.left-8)}" y="${w(s+4)}" text-anchor="end">${n(C(o))}</text>`}).join(``)}function ve(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.min+a*(t.max-t.min),s=e.left+a*e.width;return`<line class="bk-chart-grid" x1="${w(s)}" y1="${w(e.top)}" x2="${w(s)}" y2="${w(e.bottom)}" /><text class="bk-chart-label" x="${w(s)}" y="${w(e.bottom+18)}" text-anchor="middle">${n(C(o))}</text>`}).join(``)}function ye(e){return`<line class="bk-chart-axis" x1="${w(e.left)}" y1="${w(e.top)}" x2="${w(e.left)}" y2="${w(e.bottom)}" /><line class="bk-chart-axis" x1="${w(e.left)}" y1="${w(e.bottom)}" x2="${w(e.right)}" y2="${w(e.bottom)}" />`}function be(e,t,r){return e.map((e,i)=>`<text class="bk-chart-label" x="${w(t[i])}" y="${w(r)}" text-anchor="middle">${n(e.label)}</text>`).join(``)}function _(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function v(e,t){let n=Math.min(...e),r=Math.max(...e);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function xe(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function y(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Se(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=b(e,t,n,r),o=b(e,t,n,i),s=+(i-r>180);return`M ${w(e)} ${w(t)} L ${w(a.x)} ${w(a.y)} A ${w(n)} ${w(n)} 0 ${s} 1 ${w(o.x)} ${w(o.y)} Z`}function Ce(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=b(e,t,n,i),s=b(e,t,n,a),c=b(e,t,r,a),l=b(e,t,r,i),u=+(a-i>180);return[`M ${w(o.x)} ${w(o.y)}`,`A ${w(n)} ${w(n)} 0 ${u} 1 ${w(s.x)} ${w(s.y)}`,`L ${w(c.x)} ${w(c.y)}`,`A ${w(r)} ${w(r)} 0 ${u} 0 ${w(l.x)} ${w(l.y)}`,`Z`].join(` `)}function b(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function we(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${w(100-n)}%, var(--dt-accent-fg) ${w(n)}%)`}function x(e){return e==null?``:String(a(e))}function S(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Te(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function C(e){return String(a(Number(e.toFixed(2))))}function w(e){return Number(e.toFixed(2)).toString()}function Ee(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 De(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 Oe(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function ke(e,t){return`<div class="bk-comparison">${Oe(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 Ae(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 je(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 Me(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 Ne(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 Pe(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 Ie(e,t){let r=Ae(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=[je(r.responsibilities??[]),Me(r.interfaces??[]),Ne(r.dependencies??[]),Pe(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 Le(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 Re(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function ze(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 Be(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=Le(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=>ze(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Re(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>${Be(r.indexes??[])}</section>`}function He(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return Ue(t.before,t.after)}return``}function Ue(e,t){let n=e.split(`
|
|
1
|
+
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}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>`}if(e.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${t}"><input type="text" class="bk-input" placeholder="${n(e.label)}" data-action-id="${t}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${t}">Send</button></div>`;if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}"><fieldset>${Object.entries(r).map(([e,t])=>{let r=t.description??e,i=t.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${n(r)}</span><input type="${i}" class="bk-input" name="${n(e)}" placeholder="${n(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${n(e.label)}</button></fieldset></form>`}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>`}const h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],te=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function ne(e,t){let n=re(e),r=ue(n.headers,n.data);if(n.data.length===0||!te.has(n.chartType))return _(n.note,r);let i=ie(n);if(!i)return _(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?fe(a):``}${de(r)}</div>`}function re(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=te.has(i)?i:`bar`,s=n(i),c=pe(r,String(t?.xKey??`label`)),l=Array.isArray(t?.yKeys)?t.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:a,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return g(e,!1);case`donut`:return g(e,!0);case`sparkline`:return ce(e);case`heatmap`:return le(e);default:return``}}function ae(e,t){let r=v(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=b(i),o=y(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>ye(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=h[n%h.length],c=r.map((e,t)=>{let r=s[t],i=x(e.values[n],a,o.bottom,o.top);return`${E(r)},${E(i)}`}),l=r.map((e,t)=>{let r=s[t],c=x(e.values[n],a,o.bottom,o.top);return`<circle cx="${E(r)}" cy="${E(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return t?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${E(s[0])},${E(o.bottom)}`,...c,`${E(s[s.length-1])},${E(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n(`${e.chartType} chart`)}">${he(o,a)}${_e(o)}${ve(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=v(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=b(n,{includeZero:!0}),i=y(500,300,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=x(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=h[t%h.length],s=n+t*(o+4),l=x(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${E(s)}" y="${E(u)}" width="${E(o)}" height="${E(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${he(i,r)}${_e(i)}${ve(t,u,i.bottom+18)}${l}</svg>`}function se(e){let t=v(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=b(r,{includeZero:!0}),a=y(500,300,{left:110,right:20,top:20,bottom:36}),o=a.height/t.length,s=Math.max(4,Math.min(18,(o-8-4*(e.yKeys.length-1))/e.yKeys.length)),c=e.yKeys.length*s+(e.yKeys.length-1)*4,l=x(0,i,a.left,a.right),u=t.map((e,t)=>{let r=a.top+t*o+(o-c)/2,u=a.top+t*o+o/2+4;return`${`<text class="bk-chart-label" x="${E(a.left-8)}" y="${E(u)}" text-anchor="end">${n(e.label)}</text>`}${e.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=x(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${E(u)}" y="${E(o)}" width="${E(d)}" height="${E(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ge(a,i)}<line class="bk-chart-axis" x1="${E(l)}" y1="${E(a.top)}" x2="${E(l)}" y2="${E(a.bottom)}" />${u}</svg>`}function g(e,t){let r=me(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:C(t[e.xKey]),value:w(t[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=t?88*.6:0,s=-90,c=[],l=[];i.forEach((e,r)=>{let i=h[r%h.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?xe(150,140,88,o,s,d):be(150,140,88,s,d);c.push(`${p?`<path d="${p}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="150" cy="140" r="88" fill="${i}" />`}`);let m=S(150,140,108,s+u/2);l.push(`<text class="bk-chart-slice-label" x="${E(m.x)}" y="${E(m.y)}" text-anchor="${m.x>=150?`start`:`end`}">${n(e.label)} ${n(T(f))}%</text>`),s=d});let u=t?`<circle cx="150" cy="140" r="${E(o-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 300 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${t?`donut chart`:`pie chart`}">${c.join(``)}${u}${l.join(``)}</svg>`}function ce(e){let t=me(e.data,e.xKey,e.yKeys),n=e.data.map(e=>w(e[t]));if(n.every(e=>e===0))return``;let r=b(n),i=n.map((e,t)=>{let i=ye(t,n.length,0,100),a=x(e,r,28,2);return`${E(i)},${E(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 100 30" width="100%" height="30" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function le(e){let t=e.data.map(t=>({label:C(t[e.xKey]),values:e.yKeys.map(e=>w(t[e]))})),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=b(r),a=y(500,300,{left:80,right:20,top:42,bottom:20}),o=a.width/e.yKeys.length,s=a.height/t.length;return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${e.yKeys.map((e,t)=>`<text class="bk-chart-label" x="${E(a.left+t*o+o/2)}" y="28" text-anchor="middle">${n(e)}</text>`).join(``)}${t.map((e,t)=>{let r=a.top+t*s+s/2+4;return`<text class="bk-chart-label" x="${E(a.left-8)}" y="${E(r)}" text-anchor="end">${n(e.label)}</text>`}).join(``)}${t.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${E(r)}" y="${E(c)}" width="${E(o-4)}" height="${E(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Se(e,i)}" />`}).join(``)).join(``)}</svg>`}function ue(e,t){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${e.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead><tbody>${t.map(t=>`<tr>${e.map(e=>`<td>${n(a(t[e]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function _(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function de(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function fe(e){return`<div class="bk-chart-legend">${e.map((e,t)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${h[t%h.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function pe(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function me(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ce(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ce(n[e]));if(e)return e}return n[0]??`value`}function v(e,t,n){return e.map(e=>({label:C(e[t]),values:n.map(t=>w(e[t]))}))}function he(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.max-a*(t.max-t.min),s=e.top+a*e.height;return`<line class="bk-chart-grid" x1="${E(e.left)}" y1="${E(s)}" x2="${E(e.right)}" y2="${E(s)}" /><text class="bk-chart-label" x="${E(e.left-8)}" y="${E(s+4)}" text-anchor="end">${n(T(o))}</text>`}).join(``)}function ge(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.min+a*(t.max-t.min),s=e.left+a*e.width;return`<line class="bk-chart-grid" x1="${E(s)}" y1="${E(e.top)}" x2="${E(s)}" y2="${E(e.bottom)}" /><text class="bk-chart-label" x="${E(s)}" y="${E(e.bottom+18)}" text-anchor="middle">${n(T(o))}</text>`}).join(``)}function _e(e){return`<line class="bk-chart-axis" x1="${E(e.left)}" y1="${E(e.top)}" x2="${E(e.left)}" y2="${E(e.bottom)}" /><line class="bk-chart-axis" x1="${E(e.left)}" y1="${E(e.bottom)}" x2="${E(e.right)}" y2="${E(e.bottom)}" />`}function ve(e,t,r){return e.map((e,i)=>`<text class="bk-chart-label" x="${E(t[i])}" y="${E(r)}" text-anchor="middle">${n(e.label)}</text>`).join(``)}function y(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function b(e,t){let n=Math.min(...e),r=Math.max(...e);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function ye(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function x(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function be(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=S(e,t,n,r),o=S(e,t,n,i),s=+(i-r>180);return`M ${E(e)} ${E(t)} L ${E(a.x)} ${E(a.y)} A ${E(n)} ${E(n)} 0 ${s} 1 ${E(o.x)} ${E(o.y)} Z`}function xe(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=S(e,t,n,i),s=S(e,t,n,a),c=S(e,t,r,a),l=S(e,t,r,i),u=+(a-i>180);return[`M ${E(o.x)} ${E(o.y)}`,`A ${E(n)} ${E(n)} 0 ${u} 1 ${E(s.x)} ${E(s.y)}`,`L ${E(c.x)} ${E(c.y)}`,`A ${E(r)} ${E(r)} 0 ${u} 0 ${E(l.x)} ${E(l.y)}`,`Z`].join(` `)}function S(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Se(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${E(100-n)}%, var(--dt-accent-fg) ${E(n)}%)`}function C(e){return e==null?``:String(a(e))}function w(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Ce(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function T(e){return String(a(Number(e.toFixed(2))))}function E(e){return Number(e.toFixed(2)).toString()}function we(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 Te(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 Ee(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function De(e,t){return`<div class="bk-comparison">${Ee(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);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 ke(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 Ae(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 je(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 Me(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 Ne(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=Oe(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=[ke(r.responsibilities??[]),Ae(r.interfaces??[]),je(r.dependencies??[]),Me(r.metrics),Ne(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 Fe(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 Ie(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function Le(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 Re(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 ze(e,t){let r=Fe(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=>Le(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Ie(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>${Re(r.indexes??[])}</section>`}function Be(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return Ve(t.before,t.after)}return``}function Ve(e,t){let n=e.split(`
|
|
2
2
|
`),r=t.split(`
|
|
3
3
|
`),i=[`@@ -1,${n.length} +1,${r.length} @@`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
|
|
4
|
-
`)}function
|
|
5
|
-
`),a=0,o=0,s=[];for(let e of i)if(e.startsWith(`@@`)){let t=e.match(/@@ -(\d+)/);if(t){a=parseInt(t[1],10)-1;let n=e.match(/\+(\d+)/);o=n?parseInt(n[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${n(e)}</td></tr>`)}else if(e.startsWith(`---`)||e.startsWith(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${n(e)}</td></tr>`);else if(e.startsWith(`+`))o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(e)}</td></tr>`);else if(e.startsWith(`-`))a++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n(e)}</td></tr>`);else{a++,o++;let t=e.startsWith(` `)?e:` ${e}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(t)}</td></tr>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function
|
|
6
|
-
`))}</pre>`}const
|
|
4
|
+
`)}function He(e,t){let r=Be(e.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
|
|
5
|
+
`),a=0,o=0,s=[];for(let e of i)if(e.startsWith(`@@`)){let t=e.match(/@@ -(\d+)/);if(t){a=parseInt(t[1],10)-1;let n=e.match(/\+(\d+)/);o=n?parseInt(n[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${n(e)}</td></tr>`)}else if(e.startsWith(`---`)||e.startsWith(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${n(e)}</td></tr>`);else if(e.startsWith(`+`))o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(e)}</td></tr>`);else if(e.startsWith(`-`))a++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n(e)}</td></tr>`);else{a++,o++;let t=e.startsWith(` `)?e:` ${e}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(t)}</td></tr>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function Ue(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function We(e,t){return`<div class="bk-docs-browser">${Ue(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 Ge(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 Ke(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function qe(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="${Ke(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 Je(e,t){let r=Ge(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=>qe(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Ye(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 Xe(e,t){let r=Ye(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 D(e){return String(e??``).replace(/"/g,`\\"`)}function Ze(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=D(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?`|${D(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
|
|
6
|
+
`))}</pre>`}const O=`
|
|
7
7
|
.bk-heading {
|
|
8
8
|
margin: 0;
|
|
9
9
|
color: var(--dt-text-primary);
|
|
@@ -17,16 +17,16 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
|
|
|
17
17
|
.bk-heading--4 { font-size: var(--dt-font-size-lg); }
|
|
18
18
|
.bk-heading--5,
|
|
19
19
|
.bk-heading--6 { font-size: var(--dt-font-size-base); }
|
|
20
|
-
`;function
|
|
21
|
-
${
|
|
20
|
+
`;function Qe(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 $e(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{key:a(t.key),value:a(t.value)}]}):e&&typeof e==`object`?Object.entries(e).map(([e,t])=>({key:e,value:a(t)})):[]}function et(e,t){return`<dl class="bk-kv">${$e(e.value).map(e=>`<div class="bk-kv-entry"><dt class="bk-kv-key">${s(e.key)}</dt><dd class="bk-kv-value">${s(e.value)}</dd></div>`).join(``)}</dl>`}function tt(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 nt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function k(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 rt(e){return e.type===`decision`?{width:112,height:112}:{width:164,height:84}}function it(e){let t=32;return e.map(e=>{let{width:n,height:r}=rt(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 at(e){let t=k(e.step.label,e.step.type===`decision`?12:16),r=e.step.description?k(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--${nt(e.step.status)}" id="${i(e.step.id)}">${s}${c}${o}</g>`}function ot(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 st(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}function ct(e,t){let r=tt(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=it(i),o=new Map(a.map(e=>[e.step.id,e])),s=st(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=>ot(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>at(e)).join(``)}</g></svg></div></figure>`}function lt(e,t){return`<ul class="bk-list">${(Array.isArray(e.value)?e.value:[]).map(e=>`<li class="bk-list-item">${s(String(e??``))}</li>`).join(``)}</ul>`}const ut=`
|
|
21
|
+
${O}
|
|
22
22
|
.bk-markdown {
|
|
23
23
|
color: var(--dt-text-primary);
|
|
24
24
|
font-size: var(--dt-font-size-base);
|
|
25
25
|
line-height: 1.7;
|
|
26
26
|
}
|
|
27
|
-
`,
|
|
28
|
-
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(
|
|
29
|
-
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function yt(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function bt(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 xt(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>${bt(e.trend)}</article>`).join(``)}</div>`}function St(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Ct(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 wt(e,t){return`<div class="bk-progress">${Ct(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 Tt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Et(e,t){return`<pre class="bk-prompt">${n(Tt(e.value))}</pre>`}function Dt(e,t){return`<hr class="bk-separator">`}function Ot(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function kt(e,t){return`<div class="bk-status-board">${Ot(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??e.name??``)}</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 At(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function jt(e){let t=(e??[]).map(e=>{if(At(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 Mt(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=jt(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}=jt(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function Nt(e,t){let{headers:r,keys:i,rows:o}=Mt(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 Pt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Ft(e,t){return`<div class="bk-tags">${Pt(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 Lt(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(e,t){if(Array.isArray(e)){let r=e.map(e=>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,i=typeof r.name==`string`?r.name:typeof r.label==`string`?r.label:typeof r.title==`string`?r.title:void 0;if(i!==void 0)return E(r.children??[],i);let a=Object.entries(r).map(([e,t])=>E(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${a}</div></details>`:`<div class="bk-tree-children">${a}</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 Rt(e,t){return`<div class="bk-tree">${E(o(e.value))}</div>`}const D={"--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-5":`1.25rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px 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`},O={"--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)`},zt=`--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-5.--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(`.`),Bt=`--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(`.`),k={actions:`
|
|
27
|
+
`,dt=/^(#{1,6})\s+(.+)$/,ft=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function pt(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function mt(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=pt(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(`
|
|
28
|
+
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(dt);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(ft.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(`
|
|
29
|
+
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function ht(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function gt(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 _t(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>${gt(e.trend)}</article>`).join(``)}</div>`}function vt(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function yt(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 bt(e,t){return`<div class="bk-progress">${yt(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 xt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function St(e,t){return`<pre class="bk-prompt">${n(xt(e.value))}</pre>`}function Ct(e,t){return`<hr class="bk-separator">`}function wt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function Tt(e,t){return`<div class="bk-status-board">${wt(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??e.name??``)}</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 Et(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function A(e){let t=(e??[]).map(e=>{if(Et(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 Dt(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=A(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}=A(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function Ot(e,t){let{headers:r,keys:i,rows:o}=Dt(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 kt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function At(e,t){return`<div class="bk-tags">${kt(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 jt(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Mt(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 j(e,t){if(Array.isArray(e)){let r=e.map(e=>j(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,i=typeof r.name==`string`?r.name:typeof r.label==`string`?r.label:typeof r.title==`string`?r.title:void 0;if(i!==void 0)return j(r.children??[],i);let a=Object.entries(r).map(([e,t])=>j(t,e)).join(``);return t?`<details class="bk-tree-node" open><summary>${n(t)}</summary><div class="bk-tree-children">${a}</div></details>`:`<div class="bk-tree-children">${a}</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 Nt(e,t){return`<div class="bk-tree">${j(o(e.value))}</div>`}const M={"--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-5":`1.25rem`,"--dt-space-6":`1.5rem`,"--dt-space-8":`2rem`,"--dt-space-12":`3rem`,"--dt-space-16":`4rem`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-shadow-sm":`0 1px 2px 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`},N={"--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)`},Pt=`--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-5.--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(`.`),Ft=`--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(`.`),P={actions:`
|
|
30
30
|
.bk-actions {
|
|
31
31
|
display: flex;
|
|
32
32
|
flex-wrap: wrap;
|
|
@@ -889,7 +889,7 @@ ${tt}
|
|
|
889
889
|
font-size: var(--dt-font-size-sm);
|
|
890
890
|
line-height: 1.6;
|
|
891
891
|
}
|
|
892
|
-
`,heading:
|
|
892
|
+
`,heading:O,kv:`
|
|
893
893
|
.bk-kv {
|
|
894
894
|
display: grid;
|
|
895
895
|
gap: var(--dt-space-3);
|
|
@@ -1042,7 +1042,7 @@ ${tt}
|
|
|
1042
1042
|
box-shadow: 0 0 0 3px var(--dt-accent-subtle);
|
|
1043
1043
|
transform: translateY(-50%);
|
|
1044
1044
|
}
|
|
1045
|
-
`,markdown:
|
|
1045
|
+
`,markdown:ut,mermaid:`
|
|
1046
1046
|
.bk-mermaid {
|
|
1047
1047
|
margin: 0;
|
|
1048
1048
|
padding: var(--dt-space-4);
|
|
@@ -1355,7 +1355,7 @@ ${tt}
|
|
|
1355
1355
|
.bk-tree-key {
|
|
1356
1356
|
color: var(--dt-text-primary);
|
|
1357
1357
|
}
|
|
1358
|
-
`},
|
|
1358
|
+
`},F=`
|
|
1359
1359
|
.bk-section {
|
|
1360
1360
|
display: grid;
|
|
1361
1361
|
gap: var(--dt-space-3);
|
|
@@ -1447,22 +1447,22 @@ ${tt}
|
|
|
1447
1447
|
white-space: nowrap;
|
|
1448
1448
|
border: 0;
|
|
1449
1449
|
}
|
|
1450
|
-
`;function
|
|
1451
|
-
`)}function
|
|
1452
|
-
`)}function
|
|
1450
|
+
`;function I(e){let t=[F],n=new Set;for(let r of e)!n.has(r)&&P[r]&&(n.add(r),t.push(P[r]));return t.join(`
|
|
1451
|
+
`)}function It(){return I(Object.keys(P))}function L(e){return Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
1452
|
+
`)}function Lt(e,t){let n=` `.repeat(t);return e.split(`
|
|
1453
1453
|
`).map(e=>`${n}${e}`).join(`
|
|
1454
|
-
`)}function
|
|
1454
|
+
`)}function Rt(e){return e===`dark`?{...M,...N}:{...M}}function zt(){return L(N)}function Bt(e=`auto`){let t=`:root {\n${L(Rt(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 {
|
|
1455
1455
|
color-scheme: light;
|
|
1456
|
-
}`,[`@media (prefers-color-scheme: dark) {`,` :root {`,
|
|
1456
|
+
}`,[`@media (prefers-color-scheme: dark) {`,` :root {`,Lt(zt(),4),` }`,``,` html {`,` color-scheme: dark;`,` }`,`}`].join(`
|
|
1457
1457
|
`)].join(`
|
|
1458
1458
|
|
|
1459
|
-
`)}const
|
|
1460
|
-
`)}function
|
|
1461
|
-
`)}function
|
|
1459
|
+
`)}const R={header:`aikit-header`,brand:`aikit-header-brand`,title:`aikit-header-title`,titleText:`aikit-header-title-text`,subtitle:`aikit-header-subtitle`,actions:`aikit-header-actions`,themeToggle:`aikit-theme-toggle`,themeToggleIcon:`aikit-theme-toggle-icon`,themeToggleIconSun:`aikit-theme-toggle-icon--sun`,themeToggleIconMoon:`aikit-theme-toggle-icon--moon`,toolbox:`aikit-toolbox`,toolboxToggle:`aikit-toolbox-toggle`,toolboxMenu:`aikit-toolbox-menu`,toolboxItem:`aikit-toolbox-item`,footer:`aikit-footer`,footerMeta:`aikit-footer-meta`,footerText:`aikit-footer-text`,footerBrand:`aikit-footer-brand`,footerTimestamp:`aikit-footer-timestamp`,footerSlot:`aikit-footer-slot`,footerBadge:`aikit-footer-badge`},Vt=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:`<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>`,onclick:`screenshotPage()`}];function Ht(e){let t=e.onclick?` onclick="${n(e.onclick)}"`:``;return[` <button type="button" class="${R.toolboxItem}" role="menuitem" data-shared-chrome-action="${n(e.id)}" aria-label="${n(e.label)}"${t}>`,` <span aria-hidden="true">${e.icon}</span>`,` <span>${n(e.label)}</span>`,` </button>`].join(`
|
|
1460
|
+
`)}function Ut(e,t=[]){if(e!==`browser`&&e!==`mcp-app`)return``;let n=t.filter(e=>e.kind===`shared-chrome-action`);return n.length===0?``:[` <div class="${R.toolbox}">`,` <button type="button" class="${R.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu" 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="${R.toolboxMenu}" role="menu" hidden>`,...n.map(e=>Ht(e)),` </div>`,` </div>`].join(`
|
|
1461
|
+
`)}function Wt(e){return e?.trim()?e.trim():``}function Gt(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 Kt(e){let t=e.brand??`AI KIT`,r=e.sharedChromeActions??(e.transport===`browser`?Vt:[]),i=[Wt(e.actionsHtml),Ut(e.transport,r),e.showThemeToggle===!1?``:[` <button type="button" class="${R.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false" onclick="toggleTheme()">`,` <span class="${R.themeToggleIcon} ${R.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="${R.themeToggleIcon} ${R.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(`
|
|
1462
1462
|
`)].filter(Boolean).join(`
|
|
1463
|
-
`);return[` <header class="${
|
|
1464
|
-
`)}function
|
|
1465
|
-
`)}const
|
|
1463
|
+
`);return[` <header class="${R.header}">`,` <div class="${R.brand}">${n(t)}</div>`,` <div class="${R.title}">`,` <span class="${R.titleText}">${n(e.title)}</span>`,...e.subtitle?[` <span class="${R.subtitle}">${n(e.subtitle)}</span>`]:[],` </div>`,` <div class="${R.actions}">`,i,` </div>`,` </header>`].join(`
|
|
1464
|
+
`)}function qt(e={}){let t=Gt(e.generatedAt),r=t?[`Generated by `,`<span class="${R.footerBrand}">AI KIT</span>`,` at `,t.dateTime?`<time class="${R.footerTimestamp}" datetime="${n(t.dateTime)}">${n(t.display)}</time>`:`<span class="${R.footerTimestamp}">${n(t.display)}</span>`].join(``):`Generated by <span class="${R.footerBrand}">AI KIT</span>`,i=Wt(e.contentHtml);return[` <footer class="${R.footer}">`,` <div class="${R.footerMeta}">`,` <span class="${R.footerText}">${r}</span>`,...i?[` <span class="${R.footerSlot}">${i}</span>`]:[],` </div>`,` </footer>`].join(`
|
|
1465
|
+
`)}const Jt=`
|
|
1466
1466
|
.aikit-header,
|
|
1467
1467
|
.aikit-toolbox-menu,
|
|
1468
1468
|
.aikit-copy-status,
|
|
@@ -1783,9 +1783,26 @@ html[data-theme='dark'] .aikit-theme-toggle-icon--moon {
|
|
|
1783
1783
|
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
|
|
1784
1784
|
}
|
|
1785
1785
|
}
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const gn={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=>pn(e).flatMap(hn),hydration:[],supportedTransports:un},_n=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function vn(e){return H(e)&&typeof e.type==`string`}function yn(e){return Array.isArray(e)&&e.every(vn)}function bn(e){if(!H(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||yn(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function xn(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 U={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=bn(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...xn(e));return n},hydration:[],supportedTransports:_n},Sn=[`mcp-app`,`browser`,`export`];function Cn(e){return typeof e==`object`&&!!e}function wn(e){return Cn(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 W={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=wn(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:Sn};function G(e){return typeof e==`object`&&!!e}function Tn(e){return Array.isArray(e)?e.flatMap(e=>!G(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||G(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}const En={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:G(e)&&typeof e.title==`string`?e.title:`Form`,fields:G(e)?Tn(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]},Dn=[`mcp-app`,`browser`];function K(e){return typeof e==`object`&&!!e}function On(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!K(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function kn(e){return Array.isArray(e)?e.flatMap(e=>!K(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 An(e){return K(e)?{categories:On(e.categories),items:kn(e.items)}:{items:[]}}function jn(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Mn(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(jn)}]}const Nn={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=An(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=Mn(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Mn(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(jn)}),n},hydration:[`picker`],supportedTransports:Dn},Pn=[`mcp-app`,`browser`,`export`];function q(e){return typeof e==`object`&&!!e}function Fn(e){return q(e)&&typeof e.type==`string`}function In(e){return Array.isArray(e)&&e.every(Fn)}function Ln(e){return q(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Rn(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||In(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function zn(e){return Array.isArray(e)?e.flatMap(e=>q(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 Bn(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 Vn(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 Hn={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:q(e)&&typeof e.title==`string`?e.title:`Report`,metrics:q(e)&&Array.isArray(e.metrics)?e.metrics.filter(Ln):void 0,sections:q(e)?Rn(e.sections):[],tables:q(e)?zn(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(...Bn(e));for(let e of t.tables??[])n.push(Vn(e));return n},hydration:[],supportedTransports:Pn},Un=[`mcp-app`,`browser`,`export`];function J(e){return typeof e==`object`&&!!e}function Wn(e){return Array.isArray(e)?e.flatMap(e=>{if(!J(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!J(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 Gn(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const Kn={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=J(e)?Wn(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Gn(e.items)});return n},hydration:[],supportedTransports:Un},qn=[`mcp-app`,`browser`,`export`];function Jn(e){return typeof e==`object`&&!!e}function Yn(e){return Array.isArray(e)?e.flatMap(e=>!Jn(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 Xn(e){return Array.isArray(e)?{entries:Yn(e)}:Jn(e)?{entries:Yn(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const Y={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},Zn={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[Y,{type:`object`,properties:{title:{type:`string`},entries:Y,events:Y,items:Y},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Xn(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:qn},Qn=[`mcp-app`,`browser`,`export`];function X(e){return typeof e==`object`&&!!e}function $n(e){return X(e)&&typeof e.label==`string`}function er(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter($n).map(er):[]}}function tr(e){if(!X(e))return{};let t=e.root;return $n(t)?er(t):X(t)?t:e}const nr={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:tr(e)}],hydration:[`tree`],supportedTransports:Qn},Z=new R;Z.register(nn),Z.register(gn),Z.register(U),Z.register(Nn),Z.register(Hn),Z.register(Zn),Z.register(nr),Z.register(ln),Z.register(W),Z.register(En),Z.register(Kn);let Q=0;function rr(){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 ir(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.mjs`,selector:`[data-island="${e}"]`,needsData:!0}}function ar(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function or(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),o.length===0&&e.data!==void 0&&(n.push({level:`warn`,message:`Template "${e.template}" produced no blocks from provided data`}),o=[{type:`markdown`,value:`> ⚠️ Template \`${e.template}\` received data but produced no content. Verify the data structure matches the template schema.`}]),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>ir(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?W.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=L(o,i),u=[A(o.map(e=>e.type))],d=t.nonce??rr(),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:ar(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function sr(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function cr(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`&&sr(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`?gr(e.progress):void 0,items:n}]})}}function lr(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 ur(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:gr(e.progress),max:100}}function dr(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 fr(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function pr(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 mr(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=>mr(e)):[]}:{name:``,total:0,children:[]}}function hr(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(hr)}}function gr(e){return Math.max(0,Math.min(100,e))}function _r(e){let t=cr(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(lr)});let r=t.metrics.map(ur).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 vr(e){let t=dr(e),n=[];return t.columns.forEach((e,r)=>{r>0&&n.push({type:`separator`,value:``});let i=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:i.map(fr)})}),n}function yr(e){let t=pr(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function br(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:hr(mr(e.profile))}]}const xr={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=>_r(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},Sr={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=>vr(e),hydration:[],supportedTransports:[`browser`]},Cr={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=>yr(e),hydration:[],supportedTransports:[`browser`]},wr={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=>br(e),hydration:[`flame-graph`],supportedTransports:[`browser`]},Tr={blockedClipboardMessage:`Image clipboard is blocked by this host or browser. Open in a browser that allows clipboard-write, then try again.`,clipboardSuccessMessage:`Copied image to clipboard.`,fallbackToServerCaptureMessage:`Client Copy as Image capture failed`};function Er(){return Tr}function Dr(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Or(e,t){let n=[`
|
|
1786
|
+
`;function Yt(e){let t={COMMENT:[],DELETION:[],GLOBAL_COMMENT:[]};for(let n of e)t[n.type in t?n.type:`COMMENT`].push(n);return t}function Xt(e){let t=i(e.id),r=[];return e.author&&r.push(`<span class="bk-annotation-author">${n(e.author)}</span>`),e.createdAt&&r.push(`<time class="bk-annotation-time">${n(e.createdAt)}</time>`),`<li class="bk-annotation-item" data-block-id="${t}" data-annotation-type="${e.type}">
|
|
1787
|
+
<p class="bk-annotation-body">${n(e.body)}</p>
|
|
1788
|
+
${r.length>0?`<div class="bk-annotation-meta">${r.join(``)}</div>`:``}
|
|
1789
|
+
</li>`}function Zt(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function Qt(e,t){let r=Yt(Array.isArray(e.value)?e.value:[]);return`<div class="bk-annotations">${Object.entries(r).filter(([,e])=>e.length>0).map(([e,t])=>`<div class="bk-annotation-group">
|
|
1790
|
+
<h4 class="bk-annotation-group-title">${n(Zt(e))}</h4>
|
|
1791
|
+
<ol class="bk-annotation-list">${t.map(Xt).join(``)}</ol>
|
|
1792
|
+
</div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function $t(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function en(e,t){let r=e.blockId?i(e.blockId):void 0,a=$t(e.value)?e.value:{prompt:``,options:[]},o=a.prompt?`<p class="bk-approval-prompt">${n(a.prompt)}</p>`:``,s=a.options.map(e=>`<label class="bk-approval-option" data-option-id="${i(e.id)}">
|
|
1793
|
+
<input type="radio" name="approval" value="${i(e.id)}" role="radio" />
|
|
1794
|
+
<span class="bk-approval-option-label">${n(e.label)}</span>
|
|
1795
|
+
${e.description?`<span class="bk-approval-option-desc">${n(e.description)}</span>`:``}
|
|
1796
|
+
</label>`).join(``),c=a.requireComment?`<div class="bk-approval-comment">
|
|
1797
|
+
<label for="approval-comment">Comment</label>
|
|
1798
|
+
<textarea id="approval-comment" aria-required="true" placeholder="Add your comments..."></textarea>
|
|
1799
|
+
</div>`:``;return`<div class="bk-approval"${r?` data-block-id="${r}"`:``} role="radiogroup">
|
|
1800
|
+
${o}
|
|
1801
|
+
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
1802
|
+
${c}
|
|
1803
|
+
</div>`}const tn={actions:m,annotation:Qt,approval:en,cards:ee,chart:ne,checklist:we,code:Te,comparison:De,diff:He,"component-detail":Pe,"data-table-schema":ze,"docs-browser":We,"docs-hub":Je,finding:Xe,graph:Ze,heading:Qe,kv:et,"lifecycle-flow":ct,list:lt,markdown:mt,mermaid:ht,metrics:_t,paragraph:vt,progress:bt,prompt:St,separator:Ct,"status-board":Tt,table:Ot,tags:At,text:jt,timeline:Mt,tree:Nt};function nn(e,t){let r={...e,value:o(e.value)},i=tn[r.type],a=i?i(r,t):an(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 rn(e,t){return e.map(e=>nn(e,t)).join(`
|
|
1804
|
+
`)}function an(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 on=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 sn=[`mcp-app`,`browser`];function z(e){return typeof e==`object`&&!!e}function cn(e){return Array.isArray(e)?e.flatMap(e=>!z(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const ln={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=z(e)&&typeof e.title==`string`?e.title:void 0,r=z(e)?cn(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:sn},un=[`mcp-app`,`browser`,`export`];function B(e){return typeof e==`object`&&!!e}function dn(e){return B(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function fn(e){return B(e)&&typeof e.key==`string`&&typeof e.label==`string`}function pn(e){return Array.isArray(e)?e.filter(B):[]}function mn(e,t){if(Array.isArray(e)){let t=e.filter(fn);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const hn={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=B(e)?pn(e.rows):[],n=B(e)?mn(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(B(e)&&Array.isArray(e.stats)){let t=e.stats.filter(dn);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:un},gn=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function _n(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function vn(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:_n(e.changes)}]):[]}function yn(e){return!V(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!V(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:vn(e.hunks)}])}function bn(e){return e===`add`?`+`:e===`delete`?`-`:` `}function xn(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${bn(e.type)}${e.content}`)]).join(`
|
|
1805
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const Sn={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=>yn(e).flatMap(xn),hydration:[],supportedTransports:gn},Cn=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function wn(e){return H(e)&&typeof e.type==`string`}function Tn(e){return Array.isArray(e)&&e.every(wn)}function En(e){if(!H(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Tn(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Dn(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 On={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=En(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Dn(e));return n},hydration:[],supportedTransports:Cn},kn=[`mcp-app`,`browser`,`export`];function An(e){return typeof e==`object`&&!!e}function jn(e){return An(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 U={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=jn(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:kn};function W(e){return typeof e==`object`&&!!e}function Mn(e){return Array.isArray(e)?e.flatMap(e=>!W(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||W(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}const Nn={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:W(e)&&typeof e.title==`string`?e.title:`Form`,fields:W(e)?Mn(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]},Pn=[`mcp-app`,`browser`];function G(e){return typeof e==`object`&&!!e}function Fn(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!G(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function In(e){return Array.isArray(e)?e.flatMap(e=>!G(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 Ln(e){return G(e)?{categories:Fn(e.categories),items:In(e.items)}:{items:[]}}function Rn(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function zn(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Rn)}]}const Bn={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=Ln(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=zn(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=zn(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(Rn)}),n},hydration:[`picker`],supportedTransports:Pn},Vn=[`mcp-app`,`browser`,`export`];function K(e){return typeof e==`object`&&!!e}function Hn(e){return K(e)&&typeof e.type==`string`}function Un(e){return Array.isArray(e)&&e.every(Hn)}function Wn(e){return K(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Gn(e){return Array.isArray(e)?e.flatMap(e=>{if(!K(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Un(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Kn(e){return Array.isArray(e)?e.flatMap(e=>K(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 qn(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 Jn(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 Yn={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:K(e)&&typeof e.title==`string`?e.title:`Report`,metrics:K(e)&&Array.isArray(e.metrics)?e.metrics.filter(Wn):void 0,sections:K(e)?Gn(e.sections):[],tables:K(e)?Kn(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(...qn(e));for(let e of t.tables??[])n.push(Jn(e));return n},hydration:[],supportedTransports:Vn},Xn=[`mcp-app`,`browser`];function q(e){return typeof e==`object`&&!!e}function Zn(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Qn(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=q(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function $n(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}const er={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!q(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Zn(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Qn(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(q(a)){let e=$n(a.options);e.length>0&&t.push({type:`approval`,value:{prompt:typeof a.prompt==`string`?a.prompt:``,options:e,requireComment:typeof a.requireComment==`boolean`?a.requireComment:!1}})}let o=typeof e.comment==`string`?e.comment:void 0;return o&&t.push({type:`markdown`,value:o}),t},hydration:[`checklist`],supportedTransports:Xn},tr=[`mcp-app`,`browser`,`export`];function J(e){return typeof e==`object`&&!!e}function nr(e){return Array.isArray(e)?e.flatMap(e=>{if(!J(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!J(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 rr(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const ir={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=J(e)?nr(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:rr(e.items)});return n},hydration:[],supportedTransports:tr},ar=[`mcp-app`,`browser`,`export`];function or(e){return typeof e==`object`&&!!e}function sr(e){return Array.isArray(e)?e.flatMap(e=>!or(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 cr(e){return Array.isArray(e)?{entries:sr(e)}:or(e)?{entries:sr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const Y={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},lr={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[Y,{type:`object`,properties:{title:{type:`string`},entries:Y,events:Y,items:Y},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=cr(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:ar},ur=[`mcp-app`,`browser`,`export`];function X(e){return typeof e==`object`&&!!e}function dr(e){return X(e)&&typeof e.label==`string`}function fr(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(dr).map(fr):[]}}function pr(e){if(!X(e))return{};let t=e.root;return dr(t)?fr(t):X(t)?t:e}const mr={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:pr(e)}],hydration:[`tree`],supportedTransports:ur},Z=new on;Z.register(er),Z.register(ln),Z.register(Sn),Z.register(On),Z.register(Bn),Z.register(Yn),Z.register(lr),Z.register(mr),Z.register(hn),Z.register(U),Z.register(Nn),Z.register(ir);let Q=0;function hr(){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 gr(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.mjs`,selector:`[data-island="${e}"]`,needsData:!0}}function _r(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function vr(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),o.length===0&&e.data!==void 0&&(n.push({level:`warn`,message:`Template "${e.template}" produced no blocks from provided data`}),o=[{type:`markdown`,value:`> ⚠️ Template \`${e.template}\` received data but produced no content. Verify the data structure matches the template schema.`}]),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>gr(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?U.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=rn(o,i),u=[I(o.map(e=>e.type))],d=t.nonce??hr(),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:_r(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function yr(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function br(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`&&yr(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`?Or(e.progress):void 0,items:n}]})}}function xr(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 Sr(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:Or(e.progress),max:100}}function Cr(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 wr(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Tr(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 Er(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=>Er(e)):[]}:{name:``,total:0,children:[]}}function Dr(e){return{name:e.self==null?`${e.name} (${e.total})`:`${e.name} (${e.total} total / ${e.self} self)`,children:(e.children??[]).map(Dr)}}function Or(e){return Math.max(0,Math.min(100,e))}function kr(e){let t=br(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(xr)});let r=t.metrics.map(Sr).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 Ar(e){let t=Cr(e),n=[];return t.columns.forEach((e,r)=>{r>0&&n.push({type:`separator`,value:``});let i=t.cards.filter(t=>t.column===e.id);n.push({type:`heading`,value:e.label}),n.push({type:`cards`,value:i.map(wr)})}),n}function jr(e){let t=Tr(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function Mr(e){return!$(e)||!$(e.profile)?[]:[{type:`tree`,value:Dr(Er(e.profile))}]}const Nr={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=>kr(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},Pr={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=>Ar(e),hydration:[],supportedTransports:[`browser`]},Fr={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=>jr(e),hydration:[],supportedTransports:[`browser`]},Ir={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=>Mr(e),hydration:[`flame-graph`],supportedTransports:[`browser`]},Lr={blockedClipboardMessage:`Image clipboard is blocked by this host or browser. Open in a browser that allows clipboard-write, then try again.`,clipboardSuccessMessage:`Copied image to clipboard.`,fallbackToServerCaptureMessage:`Client Copy as Image capture failed`};function Rr(){return Lr}function zr(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Br(e,t){let n=[`
|
|
1789
1806
|
* {
|
|
1790
1807
|
box-sizing: border-box;
|
|
1791
1808
|
}
|
|
@@ -1819,18 +1836,19 @@ main {
|
|
|
1819
1836
|
main > * {
|
|
1820
1837
|
flex-shrink: 0;
|
|
1821
1838
|
}
|
|
1822
|
-
`,
|
|
1839
|
+
`,Jt,...(Array.isArray(t)?t:typeof t==`string`?[t]:[]).filter(e=>e.trim().length>0)].join(`
|
|
1823
1840
|
`);return[` <style>${e}</style>`,` <style>${n}</style>`].join(`
|
|
1824
|
-
`)}function
|
|
1841
|
+
`)}function Vr(e){let t=Object.entries(N).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
1825
1842
|
`);return[e,`html[data-theme="light"] {
|
|
1826
1843
|
color-scheme: light;
|
|
1827
1844
|
}`,`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(`
|
|
1828
1845
|
|
|
1829
|
-
`)}function
|
|
1830
|
-
`)}
|
|
1831
|
-
`)}function
|
|
1832
|
-
`)}function
|
|
1833
|
-
`)}function
|
|
1834
|
-
`)}function
|
|
1835
|
-
`)
|
|
1836
|
-
`)
|
|
1846
|
+
`)}function Hr(e,t){if(e.length===0)return``;let r=` nonce="${n(t)}"`;return e.map(e=>{let t=e.initScript?` <script${r}>\n${e.initScript}\n <\/script>\n`:``;if(e.inlineSource)return`${t} <script${r}>${e.inlineSource.replace(/<\/script/gi,`<\\/script`)}${e.onload?`\n;${e.onload}`:``}<\/script>`;if(!e.src)return t.trimEnd();let i=[];return i.push(`${t} <script src="${n(e.src)}"${r}><\/script>`),e.fallback?i.push(` <script${r}>`,`document.currentScript.previousElementSibling.addEventListener('error',function(){`,`var f=document.createElement('script');`,`f.src='${n(e.fallback)}';`,e.onload?`f.onload=function(){${e.onload}};`:``,`document.head.appendChild(f);`,`});`,`<\/script>`):e.onload&&i.push(` <script${r}>`,`document.currentScript.previousElementSibling.addEventListener('load',function(){${e.onload}});`,`<\/script>`),i.join(`
|
|
1847
|
+
`)}).join(`
|
|
1848
|
+
`)}function Ur(e,t){let r=JSON.stringify(e),i=Wr(),a=Gr(Rr());return[` <script${` nonce="${n(t)}"`}>`,` (() => {`,` const preferredTheme = ${r};`,` 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]);`,` }`,` };`,i,` 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");`,` };`,a,` 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(`
|
|
1849
|
+
`)}function Wr(){return[` 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 || blob.type !== "image/png") throw new Error("PNG export failed");`,` return blob;`,` };`,` const captureServerPng = async () => {`,` const response = await fetch("/__aikit_screenshot.png", { cache: "no-store" });`,` if (!response.ok) throw new Error("Server PNG capture unavailable");`,` const blob = await response.blob();`,` if (!blob || blob.type !== "image/png") throw new Error("Server PNG capture failed");`,` return blob;`,` };`,` const showCopyStatus = (message, tone = "info") => {`,` let status = document.querySelector(".aikit-copy-status");`,` if (!status) {`,` status = document.createElement("div");`,` status.className = "aikit-copy-status";`,` status.setAttribute("role", "status");`,` status.setAttribute("aria-live", "polite");`,` document.body.appendChild(status);`,` }`,` status.dataset.tone = tone;`,` status.textContent = message;`,` window.clearTimeout(status.__aikitCopyTimer);`,` status.__aikitCopyTimer = window.setTimeout(() => { status.remove(); }, 4000);`,` };`,` const blobToDataUrl = (blob) =>`,` new Promise((resolve, reject) => {`,` const reader = new FileReader();`,` reader.onload = () => resolve(String(reader.result));`,` reader.onerror = () => reject(reader.error || new Error("Image conversion failed"));`,` reader.readAsDataURL(blob);`,` });`,` const copyImageWithLegacyClipboard = async (blob) => {`,` const dataUrl = await blobToDataUrl(blob);`,` let copied = false;`,` const onCopy = (event) => {`,` const data = event.clipboardData;`,` if (!data) return;`,` event.preventDefault();`,` try {`,` if (data.items && typeof File !== "undefined") {`,` data.items.add(new File([blob], "aikit-present.png", { type: "image/png" }));`,` copied = true;`,` }`,` } catch (_error) {`,` // Some hosts reject binary clipboard items in copy events; keep the HTML fallback below.`,` }`,' data.setData("text/html", `<img alt="AI Kit Present" src="${dataUrl}">`);',` data.setData("text/plain", "AI Kit Present image");`,` copied = true;`,` };`,` document.addEventListener("copy", onCopy, { once: true });`,` try {`,` copied = document.execCommand("copy") || copied;`,` } finally {`,` document.removeEventListener("copy", onCopy);`,` }`,` if (!copied) throw new Error("Legacy clipboard copy unavailable");`,` };`,` const writeImageToClipboard = async (blob) => {`,` try {`,` if (!navigator.clipboard?.write || typeof ClipboardItem === "undefined") {`,` throw new Error("Async image clipboard is unavailable in this host.");`,` }`,` await navigator.clipboard.write([new ClipboardItem({ "image/png": blob })]);`,` } catch (clipboardError) {`,` console.warn("Async Clipboard image write failed", clipboardError);`,` await copyImageWithLegacyClipboard(blob);`,` }`,` };`].join(`
|
|
1850
|
+
`)}function Gr(e){return[` 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 {`,` let blob;`,` try {`,` blob = await captureDocumentAsPng();`,` } catch (captureError) {`,` console.warn(${JSON.stringify(e.fallbackToServerCaptureMessage)}, captureError);`,` blob = await captureServerPng();`,` }`,` await writeImageToClipboard(blob);`,` showCopyStatus(${JSON.stringify(e.clipboardSuccessMessage)});`,` } catch (_error) {`,` console.warn("Copy as Image failed", _error);`,` showCopyStatus(${JSON.stringify(e.blockedClipboardMessage)}, "error");`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`].join(`
|
|
1851
|
+
`)}function Kr(e,t,r){if(t!==`local-interactive`)return``;let i=new Set,a=[],o=` nonce="${n(r)}"`;for(let t of e)i.has(t.entry)||(i.add(t.entry),a.push(` <script type="module" src="${n(t.entry)}"${o}><\/script>`));return a.length>0&&a.push(` <script type="module"${o}>`,` import { hydrateAsync } from "/@aikit/blocks-interactive/dist/index.mjs";`,` const boot = () => {`,` void hydrateAsync();`,` };`,` if (document.readyState === "loading") {`,` document.addEventListener("DOMContentLoaded", boot, { once: true });`,` } else {`,` boot();`,` }`,` <\/script>`),a.join(`
|
|
1852
|
+
`)}function qr(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=Vr(e.tokenCss??Bt(`light`)),c=Hr(e.headScripts??[],e.nonce),l=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${zr(e.payload)}<\/script>`:``,u=Kr(e.islands,e.exportPolicy,e.nonce),d=[Ur(i,e.nonce),l,u].filter(Boolean).join(`
|
|
1853
|
+
`);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>`,Br(s,e.css),c,`</head>`,`<body>`,Kt({title:e.title,subtitle:e.subtitle,transport:e.transport,actionsHtml:e.headerActionsHtml}),` <main>${e.html}</main>`,qt({generatedAt:a,contentHtml:e.footerContentHtml}),d,`</body>`,`</html>`].filter(Boolean).join(`
|
|
1854
|
+
`)}export{R as HEADER_CLASS_NAMES,Jt as HEADER_CSS,on as TemplateRegistry,It as allCss,F as baseCss,f as blockItems,Rr as buildCopyImageExportFallback,qt as buildFooter,Kt as buildHeader,qr as buildShell,ln as checklistTemplate,I as collectCss,Ft as darkTokenNames,N as darkTokens,Nr as dashboardTemplateDefinition,hn as dataTableTemplate,Z as defaultRegistry,Sn as diffViewTemplate,On as documentTemplate,U as errorTemplate,n as escapeHtml,Ir as flameGraphTemplateDefinition,Nn as formTemplate,a as formatValue,zt as generateDarkTokenCss,Bt as generateTokenCss,s as inlineMarkdown,t as isError,e as isResult,Pr as kanbanTemplateDefinition,Fr as listSortTemplateDefinition,Bn as pickerTemplate,nn as renderBlock,rn as renderBlocks,vr as renderSurface,Yn as reportTemplate,er as reviewTemplate,i as sanitizeId,r as sanitizeUrl,ir as statusBoardTemplate,lr as timelineTemplate,Pt as tokenNames,M as tokens,u as toneName,d as toneVar,mr as treeTemplate,o as tryParseJson};
|