@vpxa/aikit 0.1.375 â 0.1.376
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/blocks-core/dist/index.mjs +44 -22
- package/packages/claude-desktop/dist/manifest.json +1 -1
- package/packages/present/dist/index.html +59 -37
- package/packages/server/viewers/canvas.html +111 -89
- package/packages/server/viewers/report-template.html +83 -61
- package/packages/server/viewers/tour-viewer.html +89 -67
- package/scaffold/dist/adapters/claude-code.mjs +7 -7
- package/scaffold/dist/definitions/agents.mjs +1 -1
- package/scaffold/dist/definitions/bodies.mjs +13 -15
- 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 +2 -2
- package/scaffold/dist/definitions/tools.mjs +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
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}" data-action-row="single"><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}" data-action-row="multi"><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===`multi-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 bk-multi-select" data-action-id="${t}" data-action-row="single" multiple size="1">${r}</select></label>`}if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}" data-action-row="multi"><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}" data-action-row="single">${n(e.label)}</button>`}).join(``)}<div class="bk-action-feedback" style="display:none;font-size:0.875rem;color:var(--dt-text-secondary);padding:var(--dt-space-2) 0;" data-feedback-state="pending">đŦ Feedback sent</div></div>`}const h={success:`â
`,danger:`â`,warning:`â ī¸`,accent:`âšī¸`},g=`accent`;function _(e){if(typeof e==`string`)return{title:``,body:e,tone:g};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e,n=u(typeof t.tone==`string`?t.tone:typeof t.severity==`string`?t.severity:g),r=typeof t.value==`string`?t.value:typeof t.message==`string`?t.message:typeof t.text==`string`?t.text:typeof t.body==`string`?t.body:v(t);return{title:typeof t.title==`string`?t.title:``,body:r,tone:n}}return{title:``,body:v(e),tone:g}}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ee(e,t){let{title:n,body:r,tone:i}=_(e.value),a=h[i]??h[g],o=n?`<div class="bk-alert-title">${s(n)}</div>`:``,c=r?`<div class="bk-alert-text">${s(r)}</div>`:``;return!o&&!c?`<div class="bk-alert"></div>`:`<div class="bk-alert" data-tone="${i}"><span class="bk-alert-icon">${a}</span><div class="bk-alert-body">${o}${c}</div></div>`}function te(e,t){return`<div class="bk-cards">${f(e).map((e,t)=>{let r=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,i=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,a=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}" style="--i: ${t}" aria-label="${n(e.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}const y=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],ne=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function re(e,t){let n=ie(e),r=fe(n.headers,n.data);if(n.data.length===0||!ne.has(n.chartType))return pe(n.note,r);let i=ae(n);if(!i)return pe(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?he(a):``}${me(r)}</div>`}function ie(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=ne.has(i)?i:`bar`,s=n(i),c=ge(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 ae(e){switch(e.chartType){case`line`:case`area`:return oe(e,e.chartType===`area`);case`bar`:return se(e);case`horizontal-bar`:return ce(e);case`pie`:return le(e,!1);case`donut`:return le(e,!0);case`sparkline`:return ue(e);case`heatmap`:return de(e);default:return``}}function oe(e,t){let r=ve(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=x(i),o=b(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Ce(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=y[n%y.length],c=r.map((e,t)=>{let r=s[t],i=S(e.values[n],a,o.bottom,o.top);return`${E(r)},${E(i)}`}),l=r.map((e,t)=>{let r=s[t],c=S(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`)}">${ye(o,a)}${xe(o)}${Se(r,s,o.bottom+18)}${c}</svg>`}function se(e){let t=ve(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=x(n,{includeZero:!0}),i=b(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=S(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=y[t%y.length],s=n+t*(o+4),l=S(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">${ye(i,r)}${xe(i)}${Se(t,u,i.bottom+18)}${l}</svg>`}function ce(e){let t=ve(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=x(r,{includeZero:!0}),a=b(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=S(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=y[t%y.length],o=r+t*(s+4),c=S(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">${be(a,i)}<line class="bk-chart-axis" x1="${E(l)}" y1="${E(a.top)}" x2="${E(l)}" y2="${E(a.bottom)}" />${u}</svg>`}function le(e,t){let r=_e(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:De(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=y[r%y.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?Te(150,140,88,o,s,d):we(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=C(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 ue(e){let t=_e(e.data,e.xKey,e.yKeys),n=e.data.map(e=>w(e[t]));if(n.every(e=>e===0))return``;let r=x(n),i=n.map((e,t)=>{let i=Ce(t,n.length,0,100),a=S(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="${y[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function de(e){let t=e.data.map(t=>({label:De(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=x(r),a=b(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: ${Ee(e,i)}" />`}).join(``)).join(``)}</svg>`}function fe(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 pe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function me(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function he(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:${y[t%y.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function ge(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 _e(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Oe(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Oe(n[e]));if(e)return e}return n[0]??`value`}function ve(e,t,n){return e.map(e=>({label:De(e[t]),values:n.map(t=>w(e[t]))}))}function ye(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 be(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 xe(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 Se(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 b(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 x(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Ce(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function S(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function we(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=C(e,t,n,r),o=C(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 Te(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=C(e,t,n,i),s=C(e,t,n,a),c=C(e,t,r,a),l=C(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 C(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Ee(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${E(100-n)}%, var(--dt-accent-fg) ${E(n)}%)`}function De(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 Oe(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 ke(e,t){return`<ul class="bk-checklist">${f(e).map((e,t)=>{let r=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(r)}" role="checkbox" aria-checked="${String(r)}" tabindex="0" style="--i: ${t}"><span class="bk-checklist-icon" aria-hidden="true">${r?`â`:`Ã`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}const Ae={javascript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.export.extends.false.finally.for.function.if.import.in.instanceof.let.new.null.of.return.static.super.switch.this.throw.true.try.typeof.undefined.var.void.while.with.yield`.split(`.`),builtins:[`console`,`Math`,`JSON`,`Promise`,`Array`,`Object`,`String`,`Number`,`Boolean`,`Map`,`Set`,`Symbol`,`RegExp`,`Date`,`Error`,`Proxy`,`Reflect`,`Buffer`,`setTimeout`,`setInterval`,`fetch`,`process`,`globalThis`,`Intl`,`BigInt`],types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},typescript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.enum.export.extends.false.finally.for.function.if.import.in.implements.infer.instanceof.interface.is.keyof.let.new.null.of.readonly.return.static.super.switch.satisfies.this.throw.true.try.typeof.type.undefined.using.var.void.while.with.yield`.split(`.`),builtins:`console.Math.JSON.Promise.Array.Object.String.Number.Boolean.Map.Set.Symbol.RegExp.Date.Error.Proxy.Reflect.Buffer.setTimeout.setInterval.fetch.process.globalThis.Intl.BigInt.Partial.Required.Readonly.Pick.Omit.Record.Exclude.Extract.NonNullable.Parameters.ReturnType.InstanceType.Awaited`.split(`.`),types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`,`object`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},python:{keywords:`False.None.True.and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`),builtins:`print.len.range.type.int.str.float.list.dict.set.tuple.bool.map.filter.zip.enumerate.reversed.sorted.open.input.isinstance.issubclass.hasattr.getattr.setattr.delattr.super.object.property.staticmethod.classmethod.self.cls.Exception.ValueError.TypeError.KeyError.IndexError.StopIteration`.split(`.`),types:[`int`,`float`,`str`,`bool`,`bytes`,`list`,`dict`,`set`,`tuple`,`None`,`Any`],commentSingle:`#`,stringDelims:[`"`,`'`],hashStrings:!0,operators:`+\\-*/%=<>!&|^~`},json:{keywords:[`true`,`false`,`null`],stringDelims:[`"`],operators:`:`,commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`},yaml:{keywords:[`true`,`false`,`yes`,`no`,`on`,`off`,`null`,`~`],commentSingle:`#`,stringDelims:[`"`,`'`],operators:`:\\-`},html:{keywords:[`!DOCTYPE`],commentMultiOpen:`<!--`,commentMultiClose:`-->`,stringDelims:[`"`,`'`],operators:`=`},css:{keywords:[`import`,`media`,`keyframes`,`font-face`,`supports`,`charset`,`namespace`,`page`,`layer`,`container`],builtins:[`red`,`blue`,`green`,`white`,`black`,`transparent`,`currentcolor`,`inherit`,`initial`,`unset`,`revert`],commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`],operators:`:;`},shell:{keywords:[`if`,`then`,`else`,`elif`,`fi`,`for`,`while`,`do`,`done`,`case`,`esac`,`in`,`function`,`return`,`exit`,`break`,`continue`,`select`,`until`,`declare`,`local`,`export`,`readonly`,`unset`],builtins:`echo,printf,read,source,.,cd,pwd,ls,cat,grep,awk,sed,find,xargs,sort,uniq,wc,cut,tr,head,tail,tee,test,[,eval,exec,shift,type,command,let,mapfile,readarray,mkdir,rm,cp,mv,chmod,chown,docker,npm,node,git`.split(`,`),commentSingle:`#`,stringDelims:[`"`,`'`],operators:`=|<>`}},je={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function Me(e){return e?Ae[je[e.toLowerCase()]??e.toLowerCase()]??null:null}function D(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t.stringDelims.includes(i)&&i!=="`"){let a=i;if(t.hashStrings&&e.slice(r,r+3)===a+a+a){n.push({type:`string`,value:a+a+a}),r+=3;let t=e.indexOf(a+a+a,r);t===-1?(n.push({type:`string`,value:e.slice(r)}),r=e.length):(n.push({type:`string`,value:e.slice(r,t)}),n.push({type:`string`,value:a+a+a}),r=t+3);continue}let o=a;for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){o+=e[r]+e[r+1],r+=2;continue}if(e[r]===a){o+=a,r++;break}o+=e[r],r++}n.push({type:`string`,value:o});continue}if(t.stringDelims.includes("`")&&i==="`"){let t="`";for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}if(e[r]==="`"){t+="`",r++;break}t+=e[r],r++}n.push({type:`string`,value:t});continue}if(t.commentSingle&&e.startsWith(t.commentSingle,r)){n.push({type:`comment`,value:e.slice(r)}),r=e.length;continue}if(t.commentMultiOpen&&t.commentMultiClose&&e.startsWith(t.commentMultiOpen,r)){let i=t.commentMultiClose,a=e.indexOf(i,r+t.commentMultiOpen.length);a===-1?(n.push({type:`comment`,value:e.slice(r)}),r=e.length):(n.push({type:`comment`,value:e.slice(r,a+i.length)}),r=a+i.length);continue}if(i===`0`&&r+1<e.length&&/[xXbB]/.test(e[r+1])&&t.commentSingle!==`#`){let t=e.slice(r).match(/^0[xX][0-9a-fA-F]+/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[0-9]/.test(i)||i===`.`&&r+1<e.length&&/[0-9]/.test(e[r+1])){let t=e.slice(r).match(/^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[a-zA-Z_$]/.test(i)||i===`@`){let i=e.slice(r).match(/^[@]?[a-zA-Z_$][a-zA-Z0-9_$]*/);if(i){let a=i[0],o=e=>e?e.includes(a):!1;if(o(t.keywords))n.push({type:`keyword`,value:a});else if(o(t.types))n.push({type:`keyword`,value:a});else if(o(t.builtins))n.push({type:`builtin`,value:a});else{let t=r+a.length;t<e.length&&e[t]===`(`?n.push({type:`function`,value:a}):n.push({type:`variable`,value:a})}r+=a.length;continue}}if(i===`<`&&t===Ae.html)if(r+1<e.length&&e[r+1]===`/`){let t=e.indexOf(`>`,r+2);if(t!==-1){n.push({type:`punctuation`,value:`</`}),n.push({type:`tag`,value:e.slice(r+2,t)}),n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}else{let t=e.indexOf(`>`,r+1);if(t!==-1){n.push({type:`punctuation`,value:`<`});let i=e.slice(r+1,t),a=i.match(/^[a-zA-Z][a-zA-Z0-9_-]*/);if(a){n.push({type:`tag`,value:a[0]});let e=a[0].length;for(;e<i.length;){if(i[e]===` `||i[e]===` `){e++;continue}let t=i.slice(e).match(/^[a-zA-Z_-][a-zA-Z0-9_-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?/);if(t){let r=t[0],i=r.indexOf(`=`);if(i!==-1){n.push({type:`variable`,value:r.slice(0,i).trim()}),n.push({type:`operator`,value:`=`});let e=r.slice(i+1).trim();e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?n.push({type:`string`,value:e}):n.push({type:`attr-value`,value:e})}else n.push({type:`attr-name`,value:r});e+=t[0].length;continue}break}}else n.push({type:`variable`,value:i});n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}if(t.operators&&!t._opRegex&&(t._opRegex=RegExp(`[${t.operators}]`)),t._opRegex?.test(i)){let t=i,a=i+(e[r+1]||``);[`=>`,`==`,`!=`,`<=`,`>=`,`&&`,`||`,`++`,`--`,`+=`,`-=`,`*=`,`/=`,`::`,`?.`,`??`,`?:`,`??=`].includes(a)?(t=a,r++):i+e.slice(r+1,r+3)===`...`&&(t=`...`,r+=2),n.push({type:`operator`,value:t}),r++;continue}if(/[{}()[\];,:.]/.test(i)){n.push({type:`punctuation`,value:i}),r++;continue}let a=e.slice(r).match(/^[^\s]+/);a?(n.push({type:`variable`,value:a[0]}),r+=a[0].length):(n.push({type:`variable`,value:i}),r++)}return n}const Ne={keyword:`bk-hljs-keyword`,string:`bk-hljs-string`,comment:`bk-hljs-comment`,number:`bk-hljs-number`,builtin:`bk-hljs-builtin`,operator:`bk-hljs-operator`,punctuation:`bk-hljs-punctuation`,tag:`bk-hljs-tag`,"attr-name":`bk-hljs-attr-name`,"attr-value":`bk-hljs-attr-value`,function:`bk-hljs-function`,variable:`bk-hljs-variable`};function O(e){if(!e.length)return``;let t=[],r=null,i=``,a=()=>{if(!i)return;let e=n(i);r&&!/^\s+$/.test(i)?t.push(`<span class="${r}">${e}</span>`):t.push(e),i=``,r=null};for(let o of e){let e=Ne[o.type];if(/^\s+$/.test(o.value)||!e){i&&a(),t.push(n(o.value));continue}r===e?i+=o.value:(a(),r=e,i=o.value)}return a(),t.join(``)}function k(e,t){let r=Me(t);if(!r)return``;let i=e.split(`
|
|
2
|
-
`),a=[],o=!1;for(let e of i){if(o&&r.commentMultiClose){let t=r.commentMultiClose,i=e.indexOf(t);if(i!==-1){o=!1;let s=e.slice(0,i+t.length),c=e.slice(i+t.length),l=`<span class="bk-hljs-comment">${n(s)}</span>`;c.trim()&&(l+=O(
|
|
3
|
-
`)}function
|
|
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}" data-action-row="single"><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}" data-action-row="multi"><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===`multi-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 bk-multi-select" data-action-id="${t}" data-action-row="single" multiple size="1">${r}</select></label>`}if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}" data-action-row="multi"><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}" data-action-row="single">${n(e.label)}</button>`}).join(``)}<div class="bk-action-feedback" style="display:none;font-size:0.875rem;color:var(--dt-text-secondary);padding:var(--dt-space-2) 0;" data-feedback-state="pending">đŦ Feedback sent</div></div>`}const h={success:`â
`,danger:`â`,warning:`â ī¸`,accent:`âšī¸`},g=`accent`;function _(e){if(typeof e==`string`)return{title:``,body:e,tone:g};if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e,n=u(typeof t.tone==`string`?t.tone:typeof t.severity==`string`?t.severity:g),r=typeof t.value==`string`?t.value:typeof t.message==`string`?t.message:typeof t.text==`string`?t.text:typeof t.body==`string`?t.body:v(t);return{title:typeof t.title==`string`?t.title:``,body:r,tone:n}}return{title:``,body:v(e),tone:g}}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ee(e,t){let{title:n,body:r,tone:i}=_(e.value),a=h[i]??h[g],o=n?`<div class="bk-alert-title">${s(n)}</div>`:``,c=r?`<div class="bk-alert-text">${s(r)}</div>`:``;return!o&&!c?`<div class="bk-alert"></div>`:`<div class="bk-alert" data-tone="${i}"><span class="bk-alert-icon">${a}</span><div class="bk-alert-body">${o}${c}</div></div>`}function te(e,t){return`<div class="bk-cards">${f(e).map((e,t)=>{let r=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,i=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,a=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}" style="--i: ${t}" aria-label="${n(e.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}const y=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],ne=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function re(e,t){let n=ie(e),r=fe(n.headers,n.data);if(n.data.length===0||!ne.has(n.chartType))return pe(n.note,r);let i=ae(n);if(!i)return pe(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?he(a):``}${me(r)}</div>`}function ie(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=ne.has(i)?i:`bar`,s=n(i),c=ge(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 ae(e){switch(e.chartType){case`line`:case`area`:return oe(e,e.chartType===`area`);case`bar`:return se(e);case`horizontal-bar`:return ce(e);case`pie`:return le(e,!1);case`donut`:return le(e,!0);case`sparkline`:return ue(e);case`heatmap`:return de(e);default:return``}}function oe(e,t){let r=b(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=S(i),o=x(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Se(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=y[n%y.length],c=r.map((e,t)=>{let r=s[t],i=C(e.values[n],a,o.bottom,o.top);return`${D(r)},${D(i)}`}),l=r.map((e,t)=>{let r=s[t],c=C(e.values[n],a,o.bottom,o.top);return`<circle cx="${D(r)}" cy="${D(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return t?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${D(s[0])},${D(o.bottom)}`,...c,`${D(s[s.length-1])},${D(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n(`${e.chartType} chart`)}">${ve(o,a)}${be(o)}${xe(r,s,o.bottom+18)}${c}</svg>`}function se(e){let t=b(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=S(n,{includeZero:!0}),i=x(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=C(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=y[t%y.length],s=n+t*(o+4),l=C(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(s)}" y="${D(u)}" width="${D(o)}" height="${D(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${ve(i,r)}${be(i)}${xe(t,u,i.bottom+18)}${l}</svg>`}function ce(e){let t=b(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r,{includeZero:!0}),a=x(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=C(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="${D(a.left-8)}" y="${D(u)}" text-anchor="end">${n(e.label)}</text>`}${e.values.map((e,t)=>{let n=y[t%y.length],o=r+t*(s+4),c=C(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(u)}" y="${D(o)}" width="${D(d)}" height="${D(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ye(a,i)}<line class="bk-chart-axis" x1="${D(l)}" y1="${D(a.top)}" x2="${D(l)}" y2="${D(a.bottom)}" />${u}</svg>`}function le(e,t){let r=_e(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:T(t[e.xKey]),value:E(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=y[r%y.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?we(150,140,88,o,s,d):Ce(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=w(150,140,108,s+u/2);l.push(`<text class="bk-chart-slice-label" x="${D(m.x)}" y="${D(m.y)}" text-anchor="${m.x>=150?`start`:`end`}">${n(e.label)} ${n(De(f))}%</text>`),s=d});let u=t?`<circle cx="150" cy="140" r="${D(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 ue(e){let t=_e(e.data,e.xKey,e.yKeys),n=e.data.map(e=>E(e[t]));if(n.every(e=>e===0))return``;let r=S(n),i=n.map((e,t)=>{let i=Se(t,n.length,0,100),a=C(e,r,28,2);return`${D(i)},${D(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="${y[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function de(e){let t=e.data.map(t=>({label:T(t[e.xKey]),values:e.yKeys.map(e=>E(t[e]))})),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r),a=x(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="${D(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="${D(a.left-8)}" y="${D(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="${D(r)}" y="${D(c)}" width="${D(o-4)}" height="${D(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Te(e,i)}" />`}).join(``)).join(``)}</svg>`}function fe(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 pe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function me(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function he(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:${y[t%y.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function ge(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 _e(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ee(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ee(n[e]));if(e)return e}return n[0]??`value`}function b(e,t,n){return e.map(e=>({label:T(e[t]),values:n.map(t=>E(e[t]))}))}function ve(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="${D(e.left)}" y1="${D(s)}" x2="${D(e.right)}" y2="${D(s)}" /><text class="bk-chart-label" x="${D(e.left-8)}" y="${D(s+4)}" text-anchor="end">${n(De(o))}</text>`}).join(``)}function ye(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="${D(s)}" y1="${D(e.top)}" x2="${D(s)}" y2="${D(e.bottom)}" /><text class="bk-chart-label" x="${D(s)}" y="${D(e.bottom+18)}" text-anchor="middle">${n(De(o))}</text>`}).join(``)}function be(e){return`<line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.top)}" x2="${D(e.left)}" y2="${D(e.bottom)}" /><line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.bottom)}" x2="${D(e.right)}" y2="${D(e.bottom)}" />`}function xe(e,t,r){return e.map((e,i)=>`<text class="bk-chart-label" x="${D(t[i])}" y="${D(r)}" text-anchor="middle">${n(e.label)}</text>`).join(``)}function x(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function S(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Se(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function C(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Ce(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=w(e,t,n,r),o=w(e,t,n,i),s=+(i-r>180);return`M ${D(e)} ${D(t)} L ${D(a.x)} ${D(a.y)} A ${D(n)} ${D(n)} 0 ${s} 1 ${D(o.x)} ${D(o.y)} Z`}function we(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=w(e,t,n,i),s=w(e,t,n,a),c=w(e,t,r,a),l=w(e,t,r,i),u=+(a-i>180);return[`M ${D(o.x)} ${D(o.y)}`,`A ${D(n)} ${D(n)} 0 ${u} 1 ${D(s.x)} ${D(s.y)}`,`L ${D(c.x)} ${D(c.y)}`,`A ${D(r)} ${D(r)} 0 ${u} 0 ${D(l.x)} ${D(l.y)}`,`Z`].join(` `)}function w(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Te(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${D(100-n)}%, var(--dt-accent-fg) ${D(n)}%)`}function T(e){return e==null?``:String(a(e))}function E(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 Ee(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function De(e){return String(a(Number(e.toFixed(2))))}function D(e){return Number(e.toFixed(2)).toString()}function Oe(e,t){return`<ul class="bk-checklist">${f(e).map((e,t)=>{let r=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(r)}" role="checkbox" aria-checked="${String(r)}" tabindex="0" style="--i: ${t}"><span class="bk-checklist-icon" aria-hidden="true">${r?`â`:`Ã`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}const ke={javascript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.export.extends.false.finally.for.function.if.import.in.instanceof.let.new.null.of.return.static.super.switch.this.throw.true.try.typeof.undefined.var.void.while.with.yield`.split(`.`),builtins:[`console`,`Math`,`JSON`,`Promise`,`Array`,`Object`,`String`,`Number`,`Boolean`,`Map`,`Set`,`Symbol`,`RegExp`,`Date`,`Error`,`Proxy`,`Reflect`,`Buffer`,`setTimeout`,`setInterval`,`fetch`,`process`,`globalThis`,`Intl`,`BigInt`],types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},typescript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.enum.export.extends.false.finally.for.function.if.import.in.implements.infer.instanceof.interface.is.keyof.let.new.null.of.readonly.return.static.super.switch.satisfies.this.throw.true.try.typeof.type.undefined.using.var.void.while.with.yield`.split(`.`),builtins:`console.Math.JSON.Promise.Array.Object.String.Number.Boolean.Map.Set.Symbol.RegExp.Date.Error.Proxy.Reflect.Buffer.setTimeout.setInterval.fetch.process.globalThis.Intl.BigInt.Partial.Required.Readonly.Pick.Omit.Record.Exclude.Extract.NonNullable.Parameters.ReturnType.InstanceType.Awaited`.split(`.`),types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`,`object`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},python:{keywords:`False.None.True.and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`),builtins:`print.len.range.type.int.str.float.list.dict.set.tuple.bool.map.filter.zip.enumerate.reversed.sorted.open.input.isinstance.issubclass.hasattr.getattr.setattr.delattr.super.object.property.staticmethod.classmethod.self.cls.Exception.ValueError.TypeError.KeyError.IndexError.StopIteration`.split(`.`),types:[`int`,`float`,`str`,`bool`,`bytes`,`list`,`dict`,`set`,`tuple`,`None`,`Any`],commentSingle:`#`,stringDelims:[`"`,`'`],hashStrings:!0,operators:`+\\-*/%=<>!&|^~`},json:{keywords:[`true`,`false`,`null`],stringDelims:[`"`],operators:`:`,commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`},yaml:{keywords:[`true`,`false`,`yes`,`no`,`on`,`off`,`null`,`~`],commentSingle:`#`,stringDelims:[`"`,`'`],operators:`:\\-`},html:{keywords:[`!DOCTYPE`],commentMultiOpen:`<!--`,commentMultiClose:`-->`,stringDelims:[`"`,`'`],operators:`=`},css:{keywords:[`import`,`media`,`keyframes`,`font-face`,`supports`,`charset`,`namespace`,`page`,`layer`,`container`],builtins:[`red`,`blue`,`green`,`white`,`black`,`transparent`,`currentcolor`,`inherit`,`initial`,`unset`,`revert`],commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`],operators:`:;`},shell:{keywords:[`if`,`then`,`else`,`elif`,`fi`,`for`,`while`,`do`,`done`,`case`,`esac`,`in`,`function`,`return`,`exit`,`break`,`continue`,`select`,`until`,`declare`,`local`,`export`,`readonly`,`unset`],builtins:`echo,printf,read,source,.,cd,pwd,ls,cat,grep,awk,sed,find,xargs,sort,uniq,wc,cut,tr,head,tail,tee,test,[,eval,exec,shift,type,command,let,mapfile,readarray,mkdir,rm,cp,mv,chmod,chown,docker,npm,node,git`.split(`,`),commentSingle:`#`,stringDelims:[`"`,`'`],operators:`=|<>`}},Ae={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function je(e){return e?ke[Ae[e.toLowerCase()]??e.toLowerCase()]??null:null}function Me(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t.stringDelims.includes(i)&&i!=="`"){let a=i;if(t.hashStrings&&e.slice(r,r+3)===a+a+a){n.push({type:`string`,value:a+a+a}),r+=3;let t=e.indexOf(a+a+a,r);t===-1?(n.push({type:`string`,value:e.slice(r)}),r=e.length):(n.push({type:`string`,value:e.slice(r,t)}),n.push({type:`string`,value:a+a+a}),r=t+3);continue}let o=a;for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){o+=e[r]+e[r+1],r+=2;continue}if(e[r]===a){o+=a,r++;break}o+=e[r],r++}n.push({type:`string`,value:o});continue}if(t.stringDelims.includes("`")&&i==="`"){let t="`";for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}if(e[r]==="`"){t+="`",r++;break}t+=e[r],r++}n.push({type:`string`,value:t});continue}if(t.commentSingle&&e.startsWith(t.commentSingle,r)){n.push({type:`comment`,value:e.slice(r)}),r=e.length;continue}if(t.commentMultiOpen&&t.commentMultiClose&&e.startsWith(t.commentMultiOpen,r)){let i=t.commentMultiClose,a=e.indexOf(i,r+t.commentMultiOpen.length);a===-1?(n.push({type:`comment`,value:e.slice(r)}),r=e.length):(n.push({type:`comment`,value:e.slice(r,a+i.length)}),r=a+i.length);continue}if(i===`0`&&r+1<e.length&&/[xXbB]/.test(e[r+1])&&t.commentSingle!==`#`){let t=e.slice(r).match(/^0[xX][0-9a-fA-F]+/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[0-9]/.test(i)||i===`.`&&r+1<e.length&&/[0-9]/.test(e[r+1])){let t=e.slice(r).match(/^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[a-zA-Z_$]/.test(i)||i===`@`){let i=e.slice(r).match(/^[@]?[a-zA-Z_$][a-zA-Z0-9_$]*/);if(i){let a=i[0],o=e=>e?e.includes(a):!1;if(o(t.keywords))n.push({type:`keyword`,value:a});else if(o(t.types))n.push({type:`keyword`,value:a});else if(o(t.builtins))n.push({type:`builtin`,value:a});else{let t=r+a.length;t<e.length&&e[t]===`(`?n.push({type:`function`,value:a}):n.push({type:`variable`,value:a})}r+=a.length;continue}}if(i===`<`&&t===ke.html)if(r+1<e.length&&e[r+1]===`/`){let t=e.indexOf(`>`,r+2);if(t!==-1){n.push({type:`punctuation`,value:`</`}),n.push({type:`tag`,value:e.slice(r+2,t)}),n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}else{let t=e.indexOf(`>`,r+1);if(t!==-1){n.push({type:`punctuation`,value:`<`});let i=e.slice(r+1,t),a=i.match(/^[a-zA-Z][a-zA-Z0-9_-]*/);if(a){n.push({type:`tag`,value:a[0]});let e=a[0].length;for(;e<i.length;){if(i[e]===` `||i[e]===` `){e++;continue}let t=i.slice(e).match(/^[a-zA-Z_-][a-zA-Z0-9_-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?/);if(t){let r=t[0],i=r.indexOf(`=`);if(i!==-1){n.push({type:`variable`,value:r.slice(0,i).trim()}),n.push({type:`operator`,value:`=`});let e=r.slice(i+1).trim();e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?n.push({type:`string`,value:e}):n.push({type:`attr-value`,value:e})}else n.push({type:`attr-name`,value:r});e+=t[0].length;continue}break}}else n.push({type:`variable`,value:i});n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}if(t.operators&&!t._opRegex&&(t._opRegex=RegExp(`[${t.operators}]`)),t._opRegex?.test(i)){let t=i,a=i+(e[r+1]||``);[`=>`,`==`,`!=`,`<=`,`>=`,`&&`,`||`,`++`,`--`,`+=`,`-=`,`*=`,`/=`,`::`,`?.`,`??`,`?:`,`??=`].includes(a)?(t=a,r++):i+e.slice(r+1,r+3)===`...`&&(t=`...`,r+=2),n.push({type:`operator`,value:t}),r++;continue}if(/[{}()[\];,:.]/.test(i)){n.push({type:`punctuation`,value:i}),r++;continue}let a=e.slice(r).match(/^[^\s]+/);a?(n.push({type:`variable`,value:a[0]}),r+=a[0].length):(n.push({type:`variable`,value:i}),r++)}return n}const Ne={keyword:`bk-hljs-keyword`,string:`bk-hljs-string`,comment:`bk-hljs-comment`,number:`bk-hljs-number`,builtin:`bk-hljs-builtin`,operator:`bk-hljs-operator`,punctuation:`bk-hljs-punctuation`,tag:`bk-hljs-tag`,"attr-name":`bk-hljs-attr-name`,"attr-value":`bk-hljs-attr-value`,function:`bk-hljs-function`,variable:`bk-hljs-variable`};function O(e){if(!e.length)return``;let t=[],r=null,i=``,a=()=>{if(!i)return;let e=n(i);r&&!/^\s+$/.test(i)?t.push(`<span class="${r}">${e}</span>`):t.push(e),i=``,r=null};for(let o of e){let e=Ne[o.type];if(/^\s+$/.test(o.value)||!e){i&&a(),t.push(n(o.value));continue}r===e?i+=o.value:(a(),r=e,i=o.value)}return a(),t.join(``)}function Pe(e,t){let r=je(t);if(!r)return``;let i=e.split(`
|
|
2
|
+
`),a=[],o=!1;for(let e of i){if(o&&r.commentMultiClose){let t=r.commentMultiClose,i=e.indexOf(t);if(i!==-1){o=!1;let s=e.slice(0,i+t.length),c=e.slice(i+t.length),l=`<span class="bk-hljs-comment">${n(s)}</span>`;c.trim()&&(l+=O(Me(c,r))),a.push(l);continue}a.push(`<span class="bk-hljs-comment">${n(e)}</span>`);continue}if(r.commentMultiOpen&&r.commentMultiClose){let t=e.indexOf(r.commentMultiOpen);if(t!==-1&&e.indexOf(r.commentMultiClose,t+r.commentMultiOpen.length)===-1){o=!0;let i=e.slice(0,t),s=``;i.trim()&&(s+=O(Me(i,r))),s+=`<span class="bk-hljs-comment">${n(e.slice(t))}</span>`,a.push(s);continue}}a.push(O(Me(e,r)))}return a.join(`
|
|
3
|
+
`)}function Fe(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),s=(e.language?Pe(o,String(e.language)):``)||n(o);return`<pre class="bk-code"><code class="${r.trim()}">${s}</code></pre>`}function Ie(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.items;return typeof t.title==`string`&&Array.isArray(n)&&n.every(e=>typeof e==`string`)}function Le(e){let t=o(e);return Array.isArray(t)?t.filter(Ie):t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns.filter(Ie):[]}function Re(e){let t=new Set,n=[];for(let r of e)for(let e of r.items)t.has(e)||(t.add(e),n.push(e));return n}function ze(e,t){if(e.length<2||t.length===0)return!1;let n=!1,r=!1;for(let i of t){let t=e.filter(e=>e.items.includes(i)).length;if(t>1&&(n=!0),t>0&&t<e.length&&(r=!0),n&&r)return!0}return!1}function Be(e,t){let r=Le(e.value),i=Re(r),a=ze(r,i);return`<div class="bk-comparison">${r.map(e=>{let t=e.recommended===!0,r;if(a){let t=new Set(e.items);r=i.map(e=>`<li class="${t.has(e)?`bk-comparison-item-diff-present`:`bk-comparison-item-diff-absent`}">${n(e)}</li>`).join(``)}else r=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"${t?` data-recommended="true"`:``}>${t?`<div class="bk-comparison-recommended-badge">Recommended</div>`:``}<div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${r}</ul></section>`}).join(``)}</div>`}function Ve(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 He(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 Ue(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 We(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 Ge(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 Ke(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 qe(e,t){let r=Ve(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=[He(r.responsibilities??[]),Ue(r.interfaces??[]),We(r.dependencies??[]),Ge(r.metrics),Ke(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 Je(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 Ye(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function Xe(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 Ze(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 Qe(e,t){let r=Je(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=>Xe(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Ye(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>${Ze(r.indexes??[])}</section>`}const k=`
|
|
4
4
|
.bk-diagram {
|
|
5
5
|
border: 1px solid var(--dt-border-default);
|
|
6
6
|
border-radius: var(--dt-radius-lg);
|
|
@@ -101,7 +101,7 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
|
|
|
101
101
|
max-width: 100%;
|
|
102
102
|
height: auto;
|
|
103
103
|
}
|
|
104
|
-
|
|
104
|
+
`,$e={frontend:`đĨī¸`,backend:`âī¸`,database:`đī¸`,storage:`đž`,cloud:`âī¸`,external:`đ`,security:`đ`,messagebus:`đ¨`,person:`đ¤`,actor:`đ¤`,system:`đī¸`,"start-end":`â`,automated:`đ¤`,manual:`đ`,decision:`đ`,branch:`đ`,infrastructure:`đĻ`};function et(e){return $e[e]??`đ`}const tt={frontend:`fill:var(--dt-agent-frontend,#38bdf8)`,backend:`fill:var(--dt-accent-subtle,#14b8a6)`,database:`fill:var(--dt-purple-subtle,#c084fc)`,storage:`fill:var(--dt-purple-subtle,#c084fc)`,cloud:`fill:var(--dt-info-subtle,#bae6fd)`,external:`fill:var(--dt-bg-tertiary,#64748b)`,security:`fill:var(--dt-danger-subtle,#fecaca)`,messagebus:`fill:var(--dt-warning-subtle,#fde68a)`,decision:`fill:var(--dt-danger-subtle,#fecaca)`,automated:`fill:var(--dt-success-subtle,#bbf7d0)`,manual:`fill:var(--dt-warning-subtle,#fde68a)`,person:`fill:var(--dt-accent-subtle,#ccfbf1)`,actor:`fill:var(--dt-accent-subtle,#ccfbf1)`,system:`fill:var(--dt-info-subtle,#bae6fd)`,infrastructure:`fill:var(--dt-bg-tertiary,#e2e8f0)`},nt={person:{open:`([`,close:`])`},actor:{open:`([`,close:`])`},database:{open:`[(`,close:`)]`},storage:{open:`[(`,close:`)]`},decision:{open:`{`,close:`}`},branch:{open:`{`,close:`}`},external:{open:`{{`,close:`}}`},system:{open:`{{`,close:`}}`},start:{open:`((`,close:`))`},end:{open:`((`,close:`))`}},rt={open:`[`,close:`]`};function it(e){return nt[e]??rt}function A(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function j(e){return e.replace(/"/g,`#quot;`).replace(/\[/g,`#91;`).replace(/\]/g,`#93;`).replace(/\(/g,`#40;`).replace(/\)/g,`#41;`).replace(/\{/g,`#123;`).replace(/\}/g,`#125;`).replace(/`/g,`#96;`).replace(/\n/g,` `).replace(/\r/g,``)}function M(e,t){let r=e.value;if(!r||typeof r!=`object`)return`<div class="bk-diagram"><p class="bk-diagram-empty">No diagram data</p></div>`;let i=e.type??`unknown`,a=i.startsWith(`architecture`)?`architecture`:i.startsWith(`workflow`)?`workflow`:i.startsWith(`sequence`)?`sequence`:i.startsWith(`dataflow`)?`dataflow`:i.startsWith(`lifecycle`)?`lifecycle`:String(r.diagram_type??`unknown`),o=r.meta,s=String(o?.title??`Diagram`),c=at(r.components??r.nodes??r.participants??r.states??[]),l=at(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`graph TD`],d=new Set,f=new Map,p=0;for(let e of c){let t=A(String(e.id??e.label??e.name??`node`),p);if(p++,d.has(t))continue;d.add(t),f.set(t,e);let n=String(e.label??e.name??t),r=String(e.type??String(e.kind??``)),i=et(r),a=e.technology?`<br><small>${j(String(e.technology))}</small>`:``,o=tt[r]??`fill:var(--dt-bg-secondary,#1e293b)`,s=it(r),c=`${i} ${j(n)}`;u.push(` ${t}${s.open}"${c}${a}"${s.close}`),u.push(` style ${t} ${o}`)}for(let e of l){let t=String(e.from??e.source??``),n=String(e.to??e.target??``),r=A(t),i=A(n);if(!d.has(r)||!d.has(i))continue;let a=e.label?` -- "${j(String(e.label))}" --> `:` --> `;u.push(` ${r}${a}${i}`)}let m=d.size>0,h=u.join(`
|
|
105
105
|
`),g=[`<dt>Type</dt><dd>${n(a)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&g.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let _=``;c.length>0&&(_=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${c.slice(0,30).map(e=>{let t=String(e.label??e.name??`(unnamed)`),r=String(e.type??String(e.kind??`-`));return`<tr><td>${n(t)}</td><td>${n(r)}</td></tr>`}).join(``)}</tbody></table>${c.length>30?`<p class="bk-diagram-truncated">âĻ and ${c.length-30} more</p>`:``}`);let v=``;return l.length>0&&(v=`<h4>Relationships</h4><ul>${l.slice(0,20).map(e=>{let t=String(e.from??e.source??`-`),r=String(e.to??e.target??`-`),i=e.label?`: ${n(String(e.label))}`:``;return`<li><strong>${n(t)}</strong> â <strong>${n(r)}</strong>${i}</li>`}).join(``)}</ul>${l.length>20?`<p class="bk-diagram-truncated">âĻ and ${l.length-20} more relationships</p>`:``}`),m?`<div class="${`bk-diagram${m?` bk-diagram-has-viz`:``}`}">
|
|
106
106
|
<pre class="bk-diagram-viz mermaid">${n(h)}</pre>
|
|
107
107
|
<details class="bk-diagram-fallback">
|
|
@@ -152,8 +152,8 @@ ${Ct}
|
|
|
152
152
|
line-height: 1.7;
|
|
153
153
|
}
|
|
154
154
|
`,Rt=/^(#{1,6})\s+(.+)$/,zt=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function Bt(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function Vt(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=Bt(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)}"`:``,t=s.join(`
|
|
155
|
-
`),r=(c?
|
|
156
|
-
`),r=(c?k(t,c):``)||n(t);i.push(`<pre class="bk-code"><code${e}>${r}</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 Ut(e){if(e==null||e===``)return``;let t=a(e);if(/^[âââ]/.test(t))return`<span class="bk-metric-trend">${n(t)}</span>`;let 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 Wt(e,t){return`<div class="bk-metrics">${f(e).map((e,t)=>`<article class="bk-metric" data-tone="${u(e.status)}" style="--i: ${t}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${Ut(e.trend)}</article>`).join(``)}</div>`}function Gt(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Kt(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 qt(e,t){return`<div class="bk-progress">${Kt(e.value).map((e,t)=>{let r=Math.max(1,Number(e.max)||100),i=Math.max(0,Number(e.value)||0),a=Math.round(Math.min(i/r*100,100)),o=u(e.color);return`<div class="bk-progress-item" style="--i: ${t}"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${a}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" role="progressbar" aria-valuenow="${i}" aria-valuemin="0" aria-valuemax="${r}" aria-label="${n(e.label)}" style="width:${a}%;background:var(--dt-${o}-emphasis);--bar-glow:var(--dt-glow-${o});"></span></div></div>`}).join(``)}</div>`}function Jt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Yt(e,t){return`<pre class="bk-prompt">${n(Jt(e.value))}</pre>`}function Xt(e,t){return`<hr class="bk-separator">`}const Zt={green:`success`,blue:`accent`,yellow:`warning`,orange:`warning`,red:`danger`,purple:`accent`,teal:`success`,gray:`accent`,grey:`accent`};function Qt(e){if(!e)return`accent`;let t=e.toLowerCase();return Zt[t]||(/^#[0-9a-f]{3,8}$/i.test(t)?`accent`:u(t))}function $t(e){return e?/^#[0-9a-f]{3,8}$/i.test(e.trim()):!1}function en(e,t){let r=e.value,i=[];if(Array.isArray(r))i=r;else if(r&&typeof r==`object`&&`items`in r){let e=r;Array.isArray(e.items)&&(i=e.items)}return i.length===0?`<div class="bk-stat-group"></div>`:`<div class="bk-stat-group">${i.map((e,t)=>{let r=$t(e.color)?` style="--stat-bar-color: ${n(e.color?.trim()??``)}; --stat-text-color: ${n(e.color?.trim()??``)}"`:``;return`<article class="bk-stat-card"${r?``:` data-tone="${Qt(e.color)}"`}${r} style="--i: ${t}"><div class="bk-stat-value">${n(a(e.value))}</div><div class="bk-stat-label">${n(e.label)}</div></article>`}).join(``)}</div>`}function tn(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function nn(e,t){return`<div class="bk-status-board">${tn(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 rn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function an(e){let t=(e??[]).map(e=>{if(rn(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 on(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=an(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}=an(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function sn(e,t){let{headers:r,keys:i,rows:o}=on(e);if(r.length===0)return`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`;let s=t=>{let r=e.sorted===t,i=r&&e.sortDir!==`desc`,a=i?`â˛`:r?`âŧ`:`â
`;return`<th${r?` aria-sort="${i?`ascending`:`descending`}"`:``}>${n(t)}<span class="bk-table-sort-icon">${a}</span></th>`},c=`<thead><tr>${r.map(e=>s(e)).join(``)}</tr></thead>`,l=o.length>0&&i.length>2?` data-scrollable="true"`:``,u;return u=o.length===0?`<tr><td colspan="${r.length}"><div class="bk-table-empty"><span class="bk-table-empty-icon" aria-hidden="true">đ</span>No data</div></td></tr>`:o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``),`<div class="bk-table-wrap"${l}><table class="bk-table">${c}<tbody>${u}</tbody></table></div>`}function cn(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function ln(e,t){return`<div class="bk-tags">${cn(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 un(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function dn(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 F(e,t){if(Array.isArray(e)){let r=e.map(e=>F(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 F(r.children??[],i);let a=Object.entries(r).map(([e,t])=>F(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 fn(e,t){return`<div class="bk-tree">${F(o(e.value))}</div>`}const I={"--dt-bg-canvas":`#f5f4ee`,"--dt-bg-primary":`#faf9f4`,"--dt-bg-secondary":`#f0efe8`,"--dt-bg-tertiary":`#ffffff`,"--dt-text-primary":`#1a1a17`,"--dt-text-secondary":`#6b6a65`,"--dt-text-tertiary":`#a8a69e`,"--dt-border-default":`#e3e2da`,"--dt-border-muted":`#d6d5cd`,"--dt-border-subtle":`#eeede6`,"--dt-glass-bg":`rgba(250, 249, 244, 0.78)`,"--dt-glass-blur":`16px`,"--dt-glass-border":`rgba(0, 0, 0, 0.06)`,"--dt-glass-hover-border":`rgba(15, 143, 122, 0.08)`,"--dt-glass-shadow":`0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 8px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.03)`,"--dt-accent-fg":`#0f8f7a`,"--dt-accent-emphasis":`#0f766e`,"--dt-accent-foreground":`#ffffff`,"--dt-accent-muted":`rgba(15, 143, 122, 0.2)`,"--dt-accent-subtle":`rgba(15, 143, 122, 0.07)`,"--dt-success-fg":`#16a34a`,"--dt-success-emphasis":`#15803d`,"--dt-success-muted":`rgba(22, 163, 74, 0.2)`,"--dt-success-subtle":`rgba(22, 163, 74, 0.07)`,"--dt-danger-fg":`#dc2626`,"--dt-danger-emphasis":`#b91c1c`,"--dt-danger-muted":`rgba(220, 38, 38, 0.2)`,"--dt-danger-subtle":`rgba(220, 38, 38, 0.07)`,"--dt-warning-fg":`#d97706`,"--dt-warning-emphasis":`#b45309`,"--dt-warning-muted":`rgba(217, 119, 6, 0.2)`,"--dt-warning-subtle":`rgba(217, 119, 6, 0.07)`,"--dt-info-fg":`#2563eb`,"--dt-info-emphasis":`#1d4ed8`,"--dt-info-muted":`rgba(37, 99, 235, 0.2)`,"--dt-info-subtle":`rgba(37, 99, 235, 0.07)`,"--dt-purple-fg":`#7c3aed`,"--dt-purple-emphasis":`#6d28d9`,"--dt-purple-muted":`rgba(124, 58, 237, 0.2)`,"--dt-purple-subtle":`rgba(124, 58, 237, 0.07)`,"--dt-agent-researcher":`#818cf8`,"--dt-agent-implementer":`#34d399`,"--dt-agent-frontend":`#f472b6`,"--dt-agent-reviewer":`#fbbf24`,"--dt-agent-debugger":`#f87171`,"--dt-agent-security":`#fb923c`,"--dt-agent-explorer":`#38bdf8`,"--dt-agent-documenter":`#c084fc`,"--dt-agent-refactor":`#2dd4bf`,"--dt-agent-planner":`#a78bfa`,"--dt-agent-orchestrator":`#94a3b8`,"--dt-status-pending":`#94a3b8`,"--dt-status-in-progress":`#60a5fa`,"--dt-status-done":`#4ade80`,"--dt-status-blocked":`#f87171`,"--dt-font-sans":`Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Geist Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`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-font-size-4xl":`2.5rem`,"--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-10":`2.5rem`,"--dt-space-12":`3rem`,"--dt-radius-xs":`4px`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-radius-pill":`999px`,"--dt-shadow-sm":`0 0 0 1px rgba(0, 0, 0, 0.02), 0 1px 3px rgba(0, 0, 0, 0.06)`,"--dt-shadow-md":`0 0 0 1px rgba(0, 0, 0, 0.03), 0 2px 6px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(0, 0, 0, 0.03)`,"--dt-shadow-lg":`0 0 0 1px rgba(0, 0, 0, 0.03), 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 32px rgba(0, 0, 0, 0.04)`,"--dt-glow-primary":`radial-gradient(circle at 50% 50%, rgba(15, 143, 122, 0.07), rgba(200, 155, 255, 0.03) 50%, transparent 70%)`,"--dt-glow-secondary":`radial-gradient(circle at 50% 50%, rgba(245, 179, 66, 0.05), transparent 50%)`,"--dt-glow-accent":`rgba(15, 143, 122, 0.35)`,"--dt-glow-success":`rgba(22, 163, 74, 0.35)`,"--dt-glow-danger":`rgba(220, 38, 38, 0.35)`,"--dt-glow-warning":`rgba(217, 119, 6, 0.35)`,"--dt-glow-info":`rgba(37, 99, 235, 0.35)`,"--dt-glow-purple":`rgba(124, 58, 237, 0.35)`,"--dt-annotation-comment":`#0f8f7a`,"--dt-annotation-comment-bg":`rgba(15, 143, 122, 0.1)`,"--dt-annotation-deletion":`#dc2626`,"--dt-annotation-deletion-bg":`rgba(220, 38, 38, 0.1)`,"--dt-annotation-hover":`rgba(0, 0, 0, 0.04)`,"--dt-transition-fast":`120ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`,"--dt-transition-normal":`200ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`,"--dt-transition-slow":`300ms cubic-bezier(0.16, 1, 0.3, 1)`},L={"--dt-bg-canvas":`#0c0c0f`,"--dt-bg-primary":`#131316`,"--dt-bg-secondary":`#1c1c21`,"--dt-bg-tertiary":`#25252b`,"--dt-text-primary":`#f0efe7`,"--dt-text-secondary":`#a8a69e`,"--dt-text-tertiary":`#6b6a65`,"--dt-border-default":`#2a2a30`,"--dt-border-muted":`#35353c`,"--dt-border-subtle":`#1f1f24`,"--dt-glass-bg":`rgba(19, 19, 22, 0.72)`,"--dt-glass-border":`rgba(255, 255, 255, 0.06)`,"--dt-glass-hover-border":`rgba(69, 200, 168, 0.08)`,"--dt-glass-shadow":`0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.25), 0 8px 32px rgba(0, 0, 0, 0.15)`,"--dt-accent-fg":`#45c8a8`,"--dt-accent-muted":`rgba(69, 200, 168, 0.3)`,"--dt-accent-subtle":`rgba(69, 200, 168, 0.1)`,"--dt-success-fg":`#2bd47c`,"--dt-success-emphasis":`#22b86b`,"--dt-success-muted":`rgba(43, 212, 124, 0.3)`,"--dt-success-subtle":`rgba(43, 212, 124, 0.1)`,"--dt-danger-fg":`#f56a6a`,"--dt-danger-emphasis":`#e54848`,"--dt-danger-muted":`rgba(245, 106, 106, 0.3)`,"--dt-danger-subtle":`rgba(245, 106, 106, 0.1)`,"--dt-warning-fg":`#f5b342`,"--dt-warning-emphasis":`#e89e2e`,"--dt-warning-muted":`rgba(245, 179, 66, 0.3)`,"--dt-warning-subtle":`rgba(245, 179, 66, 0.1)`,"--dt-info-fg":`#6baef8`,"--dt-info-emphasis":`#5090e8`,"--dt-info-muted":`rgba(107, 174, 248, 0.3)`,"--dt-info-subtle":`rgba(107, 174, 248, 0.1)`,"--dt-purple-fg":`#c89bff`,"--dt-purple-emphasis":`#b07ef0`,"--dt-purple-muted":`rgba(200, 155, 255, 0.3)`,"--dt-purple-subtle":`rgba(200, 155, 255, 0.1)`,"--dt-shadow-sm":`0 0 0 1px rgba(255, 255, 255, 0.02), 0 1px 3px rgba(0, 0, 0, 0.3)`,"--dt-shadow-md":`0 0 0 1px rgba(255, 255, 255, 0.03), 0 2px 6px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.2)`,"--dt-shadow-lg":`0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 8px 32px rgba(0, 0, 0, 0.25)`,"--dt-glow-primary":`radial-gradient(circle at 50% 50%, rgba(69, 200, 168, 0.12), rgba(107, 174, 248, 0.05) 45%, transparent 70%)`,"--dt-glow-secondary":`radial-gradient(circle at 50% 50%, rgba(200, 155, 255, 0.06), transparent 50%)`,"--dt-glow-accent":`rgba(69, 200, 168, 0.35)`,"--dt-glow-success":`rgba(43, 212, 124, 0.35)`,"--dt-glow-danger":`rgba(245, 106, 106, 0.35)`,"--dt-glow-warning":`rgba(245, 179, 66, 0.35)`,"--dt-glow-info":`rgba(107, 174, 248, 0.35)`,"--dt-glow-purple":`rgba(200, 155, 255, 0.35)`,"--dt-annotation-comment":`#45c8a8`,"--dt-annotation-comment-bg":`rgba(69, 200, 168, 0.15)`,"--dt-annotation-deletion":`#f56a6a`,"--dt-annotation-deletion-bg":`rgba(245, 106, 106, 0.15)`,"--dt-annotation-hover":`rgba(255, 255, 255, 0.04)`},pn=`--dt-bg-canvas.--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-glass-bg.--dt-glass-blur.--dt-glass-border.--dt-glass-hover-border.--dt-glass-shadow.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-foreground.--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-info-fg.--dt-info-emphasis.--dt-info-muted.--dt-info-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-agent-researcher.--dt-agent-implementer.--dt-agent-frontend.--dt-agent-reviewer.--dt-agent-debugger.--dt-agent-security.--dt-agent-explorer.--dt-agent-documenter.--dt-agent-refactor.--dt-agent-planner.--dt-agent-orchestrator.--dt-status-pending.--dt-status-in-progress.--dt-status-done.--dt-status-blocked.--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-font-size-4xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-5.--dt-space-6.--dt-space-8.--dt-space-10.--dt-space-12.--dt-radius-xs.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-radius-pill.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-primary.--dt-glow-secondary.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-info.--dt-glow-purple.--dt-annotation-comment.--dt-annotation-comment-bg.--dt-annotation-deletion.--dt-annotation-deletion-bg.--dt-annotation-hover.--dt-transition-fast.--dt-transition-normal.--dt-transition-slow`.split(`.`),mn=`--dt-bg-canvas.--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-glass-bg.--dt-glass-border.--dt-glass-hover-border.--dt-glass-shadow.--dt-accent-fg.--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-info-fg.--dt-info-emphasis.--dt-info-muted.--dt-info-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-primary.--dt-glow-secondary.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-info.--dt-glow-purple.--dt-annotation-comment.--dt-annotation-comment-bg.--dt-annotation-deletion.--dt-annotation-deletion-bg.--dt-annotation-hover`.split(`.`),R={actions:`
|
|
155
|
+
`),r=(c?Pe(t,c):``)||n(t);i.push(`<pre class="bk-code"><code${e}>${r}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(Rt);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(zt.test(t)){l(),i.push(`<hr>`);continue}a.push(e)}if(l(),o&&s.length>0){let e=c?` class="${n(c)}"`:``,t=s.join(`
|
|
156
|
+
`),r=(c?Pe(t,c):``)||n(t);i.push(`<pre class="bk-code"><code${e}>${r}</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 Ut(e){if(e==null||e===``)return``;let t=a(e);if(/^[âââ]/.test(t))return`<span class="bk-metric-trend">${n(t)}</span>`;let 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 Wt(e,t){return`<div class="bk-metrics">${f(e).map((e,t)=>`<article class="bk-metric" data-tone="${u(e.status)}" style="--i: ${t}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${Ut(e.trend)}</article>`).join(``)}</div>`}function Gt(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Kt(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 qt(e,t){return`<div class="bk-progress">${Kt(e.value).map((e,t)=>{let r=Math.max(1,Number(e.max)||100),i=Math.max(0,Number(e.value)||0),a=Math.round(Math.min(i/r*100,100)),o=u(e.color);return`<div class="bk-progress-item" style="--i: ${t}"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${a}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" role="progressbar" aria-valuenow="${i}" aria-valuemin="0" aria-valuemax="${r}" aria-label="${n(e.label)}" style="width:${a}%;background:var(--dt-${o}-emphasis);--bar-glow:var(--dt-glow-${o});"></span></div></div>`}).join(``)}</div>`}function Jt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Yt(e,t){return`<pre class="bk-prompt">${n(Jt(e.value))}</pre>`}function Xt(e,t){return`<hr class="bk-separator">`}const Zt={green:`success`,blue:`accent`,yellow:`warning`,orange:`warning`,red:`danger`,purple:`accent`,teal:`success`,gray:`accent`,grey:`accent`};function Qt(e){if(!e)return`accent`;let t=e.toLowerCase();return Zt[t]||(/^#[0-9a-f]{3,8}$/i.test(t)?`accent`:u(t))}function $t(e){return e?/^#[0-9a-f]{3,8}$/i.test(e.trim()):!1}function en(e,t){let r=e.value,i=[];if(Array.isArray(r))i=r;else if(r&&typeof r==`object`&&`items`in r){let e=r;Array.isArray(e.items)&&(i=e.items)}return i.length===0?`<div class="bk-stat-group"></div>`:`<div class="bk-stat-group">${i.map((e,t)=>{let r=$t(e.color)?` style="--stat-bar-color: ${n(e.color?.trim()??``)}; --stat-text-color: ${n(e.color?.trim()??``)}"`:``;return`<article class="bk-stat-card"${r?``:` data-tone="${Qt(e.color)}"`}${r} style="--i: ${t}"><div class="bk-stat-value">${n(a(e.value))}</div><div class="bk-stat-label">${n(e.label)}</div></article>`}).join(``)}</div>`}function tn(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function nn(e,t){return`<div class="bk-status-board">${tn(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 rn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function an(e){let t=(e??[]).map(e=>{if(rn(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 on(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=an(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}=an(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function sn(e,t){let{headers:r,keys:i,rows:o}=on(e);if(r.length===0)return`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`;let s=t=>{let r=e.sorted===t,i=r&&e.sortDir!==`desc`,a=i?`â˛`:r?`âŧ`:`â
`;return`<th${r?` aria-sort="${i?`ascending`:`descending`}"`:``}>${n(t)}<span class="bk-table-sort-icon">${a}</span></th>`},c=`<thead><tr>${r.map(e=>s(e)).join(``)}</tr></thead>`,l=o.length>0&&i.length>2?` data-scrollable="true"`:``,u;return u=o.length===0?`<tr><td colspan="${r.length}"><div class="bk-table-empty"><span class="bk-table-empty-icon" aria-hidden="true">đ</span>No data</div></td></tr>`:o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``),`<div class="bk-table-wrap"${l}><table class="bk-table">${c}<tbody>${u}</tbody></table></div>`}function cn(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function ln(e,t){return`<div class="bk-tags">${cn(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 un(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function dn(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 F(e,t){if(Array.isArray(e)){let r=e.map(e=>F(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 F(r.children??[],i);let a=Object.entries(r).map(([e,t])=>F(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 fn(e,t){return`<div class="bk-tree">${F(o(e.value))}</div>`}const I={"--dt-bg-canvas":`#f5f4ee`,"--dt-bg-primary":`#faf9f4`,"--dt-bg-secondary":`#f0efe8`,"--dt-bg-tertiary":`#ffffff`,"--dt-text-primary":`#1a1a17`,"--dt-text-secondary":`#6b6a65`,"--dt-text-tertiary":`#a8a69e`,"--dt-border-default":`#e3e2da`,"--dt-border-muted":`#d6d5cd`,"--dt-border-subtle":`#eeede6`,"--dt-glass-bg":`rgba(250, 249, 244, 0.78)`,"--dt-glass-blur":`16px`,"--dt-glass-border":`rgba(0, 0, 0, 0.06)`,"--dt-glass-hover-border":`rgba(15, 143, 122, 0.08)`,"--dt-glass-shadow":`0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 8px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.03)`,"--dt-accent-fg":`#0f8f7a`,"--dt-accent-emphasis":`#0f766e`,"--dt-accent-foreground":`#ffffff`,"--dt-accent-muted":`rgba(15, 143, 122, 0.2)`,"--dt-accent-subtle":`rgba(15, 143, 122, 0.07)`,"--dt-success-fg":`#16a34a`,"--dt-success-emphasis":`#15803d`,"--dt-success-muted":`rgba(22, 163, 74, 0.2)`,"--dt-success-subtle":`rgba(22, 163, 74, 0.07)`,"--dt-danger-fg":`#dc2626`,"--dt-danger-emphasis":`#b91c1c`,"--dt-danger-muted":`rgba(220, 38, 38, 0.2)`,"--dt-danger-subtle":`rgba(220, 38, 38, 0.07)`,"--dt-warning-fg":`#d97706`,"--dt-warning-emphasis":`#b45309`,"--dt-warning-muted":`rgba(217, 119, 6, 0.2)`,"--dt-warning-subtle":`rgba(217, 119, 6, 0.07)`,"--dt-info-fg":`#2563eb`,"--dt-info-emphasis":`#1d4ed8`,"--dt-info-muted":`rgba(37, 99, 235, 0.2)`,"--dt-info-subtle":`rgba(37, 99, 235, 0.07)`,"--dt-purple-fg":`#7c3aed`,"--dt-purple-emphasis":`#6d28d9`,"--dt-purple-muted":`rgba(124, 58, 237, 0.2)`,"--dt-purple-subtle":`rgba(124, 58, 237, 0.07)`,"--dt-agent-researcher":`#818cf8`,"--dt-agent-implementer":`#34d399`,"--dt-agent-frontend":`#f472b6`,"--dt-agent-reviewer":`#fbbf24`,"--dt-agent-debugger":`#f87171`,"--dt-agent-security":`#fb923c`,"--dt-agent-explorer":`#38bdf8`,"--dt-agent-documenter":`#c084fc`,"--dt-agent-refactor":`#2dd4bf`,"--dt-agent-planner":`#a78bfa`,"--dt-agent-orchestrator":`#94a3b8`,"--dt-status-pending":`#94a3b8`,"--dt-status-in-progress":`#60a5fa`,"--dt-status-done":`#4ade80`,"--dt-status-blocked":`#f87171`,"--dt-font-sans":`Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif`,"--dt-font-mono":`'JetBrains Mono', 'Geist Mono', 'Fira Code', 'SF Mono', Consolas, monospace`,"--dt-font-size-xs":`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-font-size-4xl":`2.5rem`,"--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-10":`2.5rem`,"--dt-space-12":`3rem`,"--dt-radius-xs":`4px`,"--dt-radius-sm":`6px`,"--dt-radius-md":`8px`,"--dt-radius-lg":`12px`,"--dt-radius-xl":`16px`,"--dt-radius-pill":`999px`,"--dt-shadow-sm":`0 0 0 1px rgba(0, 0, 0, 0.02), 0 1px 3px rgba(0, 0, 0, 0.06)`,"--dt-shadow-md":`0 0 0 1px rgba(0, 0, 0, 0.03), 0 2px 6px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(0, 0, 0, 0.03)`,"--dt-shadow-lg":`0 0 0 1px rgba(0, 0, 0, 0.03), 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 32px rgba(0, 0, 0, 0.04)`,"--dt-glow-primary":`radial-gradient(circle at 50% 50%, rgba(15, 143, 122, 0.07), rgba(200, 155, 255, 0.03) 50%, transparent 70%)`,"--dt-glow-secondary":`radial-gradient(circle at 50% 50%, rgba(245, 179, 66, 0.05), transparent 50%)`,"--dt-glow-accent":`rgba(15, 143, 122, 0.35)`,"--dt-glow-success":`rgba(22, 163, 74, 0.35)`,"--dt-glow-danger":`rgba(220, 38, 38, 0.35)`,"--dt-glow-warning":`rgba(217, 119, 6, 0.35)`,"--dt-glow-info":`rgba(37, 99, 235, 0.35)`,"--dt-glow-purple":`rgba(124, 58, 237, 0.35)`,"--dt-annotation-comment":`#0f8f7a`,"--dt-annotation-comment-bg":`rgba(15, 143, 122, 0.1)`,"--dt-annotation-deletion":`#dc2626`,"--dt-annotation-deletion-bg":`rgba(220, 38, 38, 0.1)`,"--dt-annotation-hover":`rgba(0, 0, 0, 0.04)`,"--dt-transition-fast":`120ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`,"--dt-transition-normal":`200ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`,"--dt-transition-slow":`300ms cubic-bezier(0.16, 1, 0.3, 1)`},L={"--dt-bg-canvas":`#0c0c0f`,"--dt-bg-primary":`#131316`,"--dt-bg-secondary":`#1c1c21`,"--dt-bg-tertiary":`#25252b`,"--dt-text-primary":`#f0efe7`,"--dt-text-secondary":`#a8a69e`,"--dt-text-tertiary":`#6b6a65`,"--dt-border-default":`#2a2a30`,"--dt-border-muted":`#35353c`,"--dt-border-subtle":`#1f1f24`,"--dt-glass-bg":`rgba(19, 19, 22, 0.72)`,"--dt-glass-border":`rgba(255, 255, 255, 0.06)`,"--dt-glass-hover-border":`rgba(69, 200, 168, 0.08)`,"--dt-glass-shadow":`0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.25), 0 8px 32px rgba(0, 0, 0, 0.15)`,"--dt-accent-fg":`#45c8a8`,"--dt-accent-muted":`rgba(69, 200, 168, 0.3)`,"--dt-accent-subtle":`rgba(69, 200, 168, 0.1)`,"--dt-success-fg":`#2bd47c`,"--dt-success-emphasis":`#22b86b`,"--dt-success-muted":`rgba(43, 212, 124, 0.3)`,"--dt-success-subtle":`rgba(43, 212, 124, 0.1)`,"--dt-danger-fg":`#f56a6a`,"--dt-danger-emphasis":`#e54848`,"--dt-danger-muted":`rgba(245, 106, 106, 0.3)`,"--dt-danger-subtle":`rgba(245, 106, 106, 0.1)`,"--dt-warning-fg":`#f5b342`,"--dt-warning-emphasis":`#e89e2e`,"--dt-warning-muted":`rgba(245, 179, 66, 0.3)`,"--dt-warning-subtle":`rgba(245, 179, 66, 0.1)`,"--dt-info-fg":`#6baef8`,"--dt-info-emphasis":`#5090e8`,"--dt-info-muted":`rgba(107, 174, 248, 0.3)`,"--dt-info-subtle":`rgba(107, 174, 248, 0.1)`,"--dt-purple-fg":`#c89bff`,"--dt-purple-emphasis":`#b07ef0`,"--dt-purple-muted":`rgba(200, 155, 255, 0.3)`,"--dt-purple-subtle":`rgba(200, 155, 255, 0.1)`,"--dt-shadow-sm":`0 0 0 1px rgba(255, 255, 255, 0.02), 0 1px 3px rgba(0, 0, 0, 0.3)`,"--dt-shadow-md":`0 0 0 1px rgba(255, 255, 255, 0.03), 0 2px 6px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.2)`,"--dt-shadow-lg":`0 0 0 1px rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 8px 32px rgba(0, 0, 0, 0.25)`,"--dt-glow-primary":`radial-gradient(circle at 50% 50%, rgba(69, 200, 168, 0.12), rgba(107, 174, 248, 0.05) 45%, transparent 70%)`,"--dt-glow-secondary":`radial-gradient(circle at 50% 50%, rgba(200, 155, 255, 0.06), transparent 50%)`,"--dt-glow-accent":`rgba(69, 200, 168, 0.35)`,"--dt-glow-success":`rgba(43, 212, 124, 0.35)`,"--dt-glow-danger":`rgba(245, 106, 106, 0.35)`,"--dt-glow-warning":`rgba(245, 179, 66, 0.35)`,"--dt-glow-info":`rgba(107, 174, 248, 0.35)`,"--dt-glow-purple":`rgba(200, 155, 255, 0.35)`,"--dt-annotation-comment":`#45c8a8`,"--dt-annotation-comment-bg":`rgba(69, 200, 168, 0.15)`,"--dt-annotation-deletion":`#f56a6a`,"--dt-annotation-deletion-bg":`rgba(245, 106, 106, 0.15)`,"--dt-annotation-hover":`rgba(255, 255, 255, 0.04)`},pn=`--dt-bg-canvas.--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-glass-bg.--dt-glass-blur.--dt-glass-border.--dt-glass-hover-border.--dt-glass-shadow.--dt-accent-fg.--dt-accent-emphasis.--dt-accent-foreground.--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-info-fg.--dt-info-emphasis.--dt-info-muted.--dt-info-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-agent-researcher.--dt-agent-implementer.--dt-agent-frontend.--dt-agent-reviewer.--dt-agent-debugger.--dt-agent-security.--dt-agent-explorer.--dt-agent-documenter.--dt-agent-refactor.--dt-agent-planner.--dt-agent-orchestrator.--dt-status-pending.--dt-status-in-progress.--dt-status-done.--dt-status-blocked.--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-font-size-4xl.--dt-space-1.--dt-space-2.--dt-space-3.--dt-space-4.--dt-space-5.--dt-space-6.--dt-space-8.--dt-space-10.--dt-space-12.--dt-radius-xs.--dt-radius-sm.--dt-radius-md.--dt-radius-lg.--dt-radius-xl.--dt-radius-pill.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-primary.--dt-glow-secondary.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-info.--dt-glow-purple.--dt-annotation-comment.--dt-annotation-comment-bg.--dt-annotation-deletion.--dt-annotation-deletion-bg.--dt-annotation-hover.--dt-transition-fast.--dt-transition-normal.--dt-transition-slow`.split(`.`),mn=`--dt-bg-canvas.--dt-bg-primary.--dt-bg-secondary.--dt-bg-tertiary.--dt-text-primary.--dt-text-secondary.--dt-text-tertiary.--dt-border-default.--dt-border-muted.--dt-border-subtle.--dt-glass-bg.--dt-glass-border.--dt-glass-hover-border.--dt-glass-shadow.--dt-accent-fg.--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-info-fg.--dt-info-emphasis.--dt-info-muted.--dt-info-subtle.--dt-purple-fg.--dt-purple-emphasis.--dt-purple-muted.--dt-purple-subtle.--dt-shadow-sm.--dt-shadow-md.--dt-shadow-lg.--dt-glow-primary.--dt-glow-secondary.--dt-glow-accent.--dt-glow-success.--dt-glow-danger.--dt-glow-warning.--dt-glow-info.--dt-glow-purple.--dt-annotation-comment.--dt-annotation-comment-bg.--dt-annotation-deletion.--dt-annotation-deletion-bg.--dt-annotation-hover`.split(`.`),R={actions:`
|
|
157
157
|
.bk-actions {
|
|
158
158
|
display: flex;
|
|
159
159
|
flex-wrap: wrap;
|
|
@@ -785,7 +785,7 @@ ${Ct}
|
|
|
785
785
|
color: var(--dt-text-primary);
|
|
786
786
|
}
|
|
787
787
|
|
|
788
|
-
`,"architecture-diagram":
|
|
788
|
+
`,"architecture-diagram":k,"workflow-diagram":k,"sequence-diagram":k,"dataflow-diagram":k,"lifecycle-diagram":k,diff:`
|
|
789
789
|
/* ââ Diff Container ââ */
|
|
790
790
|
.bk-diff {
|
|
791
791
|
overflow-x: auto;
|
|
@@ -2539,6 +2539,29 @@ th[aria-sort="descending"] .bk-table-sort-icon {
|
|
|
2539
2539
|
line-height: 1.3;
|
|
2540
2540
|
}
|
|
2541
2541
|
|
|
2542
|
+
/* Heading styles â in baseCss because markdown is the universal fallback renderer */
|
|
2543
|
+
.bk-heading {
|
|
2544
|
+
margin: 0;
|
|
2545
|
+
color: var(--dt-text-primary);
|
|
2546
|
+
font-family: var(--dt-font-sans);
|
|
2547
|
+
font-weight: 700;
|
|
2548
|
+
line-height: 1.2;
|
|
2549
|
+
letter-spacing: -0.02em;
|
|
2550
|
+
}
|
|
2551
|
+
.bk-heading--1 { font-size: var(--dt-font-size-4xl); letter-spacing: -0.03em; }
|
|
2552
|
+
.bk-heading--2 { font-size: var(--dt-font-size-3xl); }
|
|
2553
|
+
.bk-heading--3 { font-size: var(--dt-font-size-2xl); }
|
|
2554
|
+
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
2555
|
+
.bk-heading--5,
|
|
2556
|
+
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
2557
|
+
|
|
2558
|
+
/* Markdown content â in baseCss because fallback blocks render as markdown */
|
|
2559
|
+
.bk-markdown {
|
|
2560
|
+
color: var(--dt-text-primary);
|
|
2561
|
+
font-size: var(--dt-font-size-base);
|
|
2562
|
+
line-height: 1.7;
|
|
2563
|
+
}
|
|
2564
|
+
|
|
2542
2565
|
/* ââ Responsive section titles ââ */
|
|
2543
2566
|
@media (max-width: 480px) {
|
|
2544
2567
|
.bk-section-title {
|
|
@@ -3128,10 +3151,9 @@ ${e.description?`<span class="bk-approval-option-desc">${n(e.description)}</span
|
|
|
3128
3151
|
${o}
|
|
3129
3152
|
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
3130
3153
|
${c}
|
|
3131
|
-
</div>`}const Ln={actions:m,alert:ee,annotation:Pn,approval:In,cards:te,chart:re,checklist:
|
|
3132
|
-
`)}function Bn(e){let t=e.value;if(t==null)return``;if(typeof t==`string`)
|
|
3133
|
-
`);r.push(`<pre class="bk-code"><code${e}>${n(t)}</code></pre>`),o=[],s=``};for(let e of t.split(/\r?\n/)){let t=e.trim();if(t.startsWith("```")){a?(l(),a=!1):(c(),a=!0,s=t.slice(3).trim(),o=[]);continue}if(a){o.push(e);continue}if(!t){c();continue}let u=t.match(/^(#{1,4})\s+(.+)$/);if(u){c();let[,e,t]=u,i=e.length;r.push(`<h${i} class="bk-heading bk-heading--${i}">${n(t)}</h${i}>`);continue}if(/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/.test(t)){c(),r.push(`<hr>`);continue}i.push(e)}return c(),a&&l(),`<div class="bk-markdown">${r.join(``)}</div>`}function Hn(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${/^(https?:|mailto:|#)/i.test(n.trim())?n.trim():`#`}">${t}</a>`)}var Un=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 Wn=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function Gn(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const Kn={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=V(e)&&typeof e.title==`string`?e.title:void 0,r=V(e)?Gn(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Wn},qn=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Jn(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Yn(e){return H(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Xn(e){return Array.isArray(e)?e.filter(H):[]}function Zn(e,t){if(Array.isArray(e)){let t=e.filter(Yn);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const Qn={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=H(e)?Xn(e.rows):[],n=H(e)?Zn(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(H(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Jn);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:qn},$n=[`mcp-app`,`browser`,`export`];function U(e){return typeof e==`object`&&!!e}function er(e){return Array.isArray(e)?e.flatMap(e=>!U(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function tr(e){return Array.isArray(e)?e.flatMap(e=>!U(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:er(e.changes)}]):[]}function nr(e){return!U(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!U(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:tr(e.hunks)}])}function rr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function ir(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${rr(e.type)}${e.content}`)]).join(`
|
|
3134
|
-
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const ar={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=>nr(e).flatMap(ir),hydration:[],supportedTransports:$n},or=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function sr(e){return W(e)&&typeof e.type==`string`}function cr(e){return Array.isArray(e)&&e.every(sr)}function lr(e){if(!W(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!W(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||cr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function ur(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 dr={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=lr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...ur(e));return n},hydration:[],supportedTransports:or},fr=[`mcp-app`,`browser`,`export`];function pr(e){return typeof e==`object`&&!!e}function mr(e){return pr(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 G={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=mr(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:fr};function K(e){return typeof e==`object`&&!!e}function hr(e){return Array.isArray(e)?e.flatMap(e=>!K(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`||K(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 gr={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:K(e)&&typeof e.title==`string`?e.title:`Form`,fields:K(e)?hr(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`]},_r=[`mcp-app`,`browser`];function q(e){return typeof e==`object`&&!!e}function vr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!q(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function yr(e){return Array.isArray(e)?e.flatMap(e=>!q(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 br(e){return q(e)?{categories:vr(e.categories),items:yr(e.items)}:{items:[]}}function xr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Sr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(xr)}]}const Cr={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=br(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=Sr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Sr(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(xr)}),n},hydration:[`picker`],supportedTransports:_r},wr=[`mcp-app`,`browser`,`export`];function J(e){return typeof e==`object`&&!!e}function Tr(e){return J(e)&&typeof e.type==`string`}function Er(e){return Array.isArray(e)&&e.every(Tr)}function Dr(e){return J(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Or(e){return Array.isArray(e)?e.flatMap(e=>{if(!J(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Er(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function kr(e){return Array.isArray(e)?e.flatMap(e=>J(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 Ar(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 jr(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}const Mr={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:J(e)&&typeof e.title==`string`?e.title:`Report`,metrics:J(e)&&Array.isArray(e.metrics)?e.metrics.filter(Dr):void 0,sections:J(e)?Or(e.sections):[],tables:J(e)?kr(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(...Ar(e));for(let e of t.tables??[])n.push(jr(e));return n},hydration:[],supportedTransports:wr},Nr=[`mcp-app`,`browser`];function Y(e){return typeof e==`object`&&!!e}function Pr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Fr(e){return Array.isArray(e)?e.flatMap(e=>{if(!Y(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=Y(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 Ir(e){return Array.isArray(e)?e.flatMap(e=>{if(!Y(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 Lr={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(!Y(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Pr(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Fr(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(Y(a)){let e=Ir(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:Nr},Rr=[`mcp-app`,`browser`,`export`];function X(e){return typeof e==`object`&&!!e}function zr(e){return Array.isArray(e)?e.flatMap(e=>{if(!X(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!X(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 Br(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const Vr={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=X(e)?zr(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Br(e.items)});return n},hydration:[],supportedTransports:Rr},Hr=[`mcp-app`,`browser`,`export`];function Ur(e){return typeof e==`object`&&!!e}function Wr(e){return Array.isArray(e)?e.flatMap(e=>!Ur(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 Gr(e){return Array.isArray(e)?{entries:Wr(e)}:Ur(e)?{entries:Wr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const Z={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},Kr={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[Z,{type:`object`,properties:{title:{type:`string`},entries:Z,events:Z,items:Z},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Gr(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Hr},qr=[`mcp-app`,`browser`,`export`];function Jr(e){return typeof e==`object`&&!!e}function Yr(e){return Jr(e)&&typeof e.label==`string`}function Xr(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Yr).map(Xr):[]}}function Zr(e){if(!Jr(e))return{};let t=e.root;return Yr(t)?Xr(t):Jr(t)?t:e}const Qr={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:Zr(e)}],hydration:[`tree`],supportedTransports:qr},Q=new Un;Q.register(Lr),Q.register(Kn),Q.register(ar),Q.register(dr),Q.register(Cr),Q.register(Mr),Q.register(Kr),Q.register(Qr),Q.register(Qn),Q.register(G),Q.register(gr),Q.register(Vr);let $r=0;function ei(){return $r=($r+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${$r.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function ti(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.mjs`,selector:`[data-island="${e}"]`,needsData:!0}}function ni(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function ri(e,t){let n=[],r=t.registry??Q,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=>ti(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?G.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=zn(o,i),u=[z(o.map(e=>e.type))],d=t.nonce??ei(),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:ni(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function ii(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function ai(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`&&ii(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`?fi(e.progress):void 0,items:n}]})}}function oi(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?`${(e=>e===`up`?`â`:e===`down`?`â`:`â`)(e.trend.direction)} ${e.trend.value}`:t,status:e.status}}function si(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:fi(e.progress),max:100}}function ci(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 li(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function ui(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 di(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=>di(e)):[]}:{name:``,total:0,children:[]}}function fi(e){return Math.max(0,Math.min(100,e))}function pi(e){let t=ai(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(oi)});let r=t.metrics.map(si).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 mi(e){let t=ci(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(li)})}),n}function hi(e){let t=ui(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function gi(e){return!$(e)||!$(e.profile)?[]:[{type:`flame-graph`,value:di(e.profile)}]}const _i={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=>pi(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},vi={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=>mi(e),hydration:[],supportedTransports:[`browser`]},yi={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=>hi(e),hydration:[],supportedTransports:[`browser`]},bi={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=>gi(e),hydration:[`flame-graph`],supportedTransports:[`browser`]},xi={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 Si(){return xi}function Ci(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function wi(e,t){let n=[`
|
|
3154
|
+
</div>`}const Ln={actions:m,alert:ee,annotation:Pn,approval:In,cards:te,chart:re,checklist:Oe,code:Fe,comparison:Be,"architecture-diagram":M,"workflow-diagram":M,"sequence-diagram":M,"dataflow-diagram":M,"lifecycle-diagram":M,diff:lt,"component-detail":qe,"data-table-schema":Qe,"docs-browser":dt,"docs-hub":ht,"flame-graph":bt,finding:_t,graph:St,heading:wt,kv:Et,"lifecycle-flow":Ft,list:It,markdown:Vt,mermaid:Ht,metrics:Wt,paragraph:Gt,progress:qt,prompt:Yt,separator:Xt,"stat-group":en,"status-board":nn,table:sn,tags:ln,text:un,timeline:dn,tree:fn};function Rn(e,t,r){let a={...e,value:o(e.value)},s=Ln[a.type],c=s?s(a,t):Bn(a);return a.title&&![`heading`,`finding`].includes(a.type)&&(c=`<section class="bk-section bk-section--${n(a.type)}"><h3 class="bk-section-title">${n(a.title)}</h3>${c}</section>`),`<div data-block-id="${i(a.blockId??`block-${r??0}`)}">${c}</div>`}function zn(e,t){return e.map((e,n)=>Rn(e,t,n)).join(`
|
|
3155
|
+
`)}function Bn(e){let t=e.value;if(t==null)return``;let n;if(typeof t==`string`)n=t;else if(typeof t==`object`)try{n=`\`\`\`json\n${JSON.stringify(t,null,2)}\n\`\`\``}catch{n=String(t)}else n=String(t);return Vt({type:`markdown`,value:n})}var Vn=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 Hn=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function Un(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const Wn={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=V(e)&&typeof e.title==`string`?e.title:void 0,r=V(e)?Un(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Hn},Gn=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Kn(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function qn(e){return H(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Jn(e){return Array.isArray(e)?e.filter(H):[]}function Yn(e,t){if(Array.isArray(e)){let t=e.filter(qn);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const Xn={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=H(e)?Jn(e.rows):[],n=H(e)?Yn(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(H(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Kn);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:Gn},Zn=[`mcp-app`,`browser`,`export`];function U(e){return typeof e==`object`&&!!e}function Qn(e){return Array.isArray(e)?e.flatMap(e=>!U(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function $n(e){return Array.isArray(e)?e.flatMap(e=>!U(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Qn(e.changes)}]):[]}function er(e){return!U(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!U(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:$n(e.hunks)}])}function tr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function nr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${tr(e.type)}${e.content}`)]).join(`
|
|
3156
|
+
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const rr={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=>er(e).flatMap(nr),hydration:[],supportedTransports:Zn},ir=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function ar(e){return W(e)&&typeof e.type==`string`}function or(e){return Array.isArray(e)&&e.every(ar)}function sr(e){if(!W(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!W(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||or(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function cr(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 lr={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=sr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...cr(e));return n},hydration:[],supportedTransports:ir},ur=[`mcp-app`,`browser`,`export`];function dr(e){return typeof e==`object`&&!!e}function fr(e){return dr(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 G={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=fr(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:ur};function K(e){return typeof e==`object`&&!!e}function pr(e){return Array.isArray(e)?e.flatMap(e=>!K(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`||K(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 mr={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:K(e)&&typeof e.title==`string`?e.title:`Form`,fields:K(e)?pr(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`]},hr=[`mcp-app`,`browser`];function q(e){return typeof e==`object`&&!!e}function gr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!q(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function _r(e){return Array.isArray(e)?e.flatMap(e=>!q(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 vr(e){return q(e)?{categories:gr(e.categories),items:_r(e.items)}:{items:[]}}function yr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function br(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(yr)}]}const xr={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=vr(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=br(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=br(`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(yr)}),n},hydration:[`picker`],supportedTransports:hr},Sr=[`mcp-app`,`browser`,`export`];function J(e){return typeof e==`object`&&!!e}function Cr(e){return J(e)&&typeof e.type==`string`}function wr(e){return Array.isArray(e)&&e.every(Cr)}function Tr(e){return J(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Er(e){return Array.isArray(e)?e.flatMap(e=>{if(!J(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||wr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Dr(e){return Array.isArray(e)?e.flatMap(e=>J(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 Or(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 kr(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}const Ar={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:J(e)&&typeof e.title==`string`?e.title:`Report`,metrics:J(e)&&Array.isArray(e.metrics)?e.metrics.filter(Tr):void 0,sections:J(e)?Er(e.sections):[],tables:J(e)?Dr(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(...Or(e));for(let e of t.tables??[])n.push(kr(e));return n},hydration:[],supportedTransports:Sr},jr=[`mcp-app`,`browser`];function Y(e){return typeof e==`object`&&!!e}function Mr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Nr(e){return Array.isArray(e)?e.flatMap(e=>{if(!Y(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=Y(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 Pr(e){return Array.isArray(e)?e.flatMap(e=>{if(!Y(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 Fr={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(!Y(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Mr(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Nr(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(Y(a)){let e=Pr(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:jr},Ir=[`mcp-app`,`browser`,`export`];function X(e){return typeof e==`object`&&!!e}function Lr(e){return Array.isArray(e)?e.flatMap(e=>{if(!X(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!X(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 zr={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=X(e)?Lr(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:Ir},Br=[`mcp-app`,`browser`,`export`];function Vr(e){return typeof e==`object`&&!!e}function Hr(e){return Array.isArray(e)?e.flatMap(e=>!Vr(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 Ur(e){return Array.isArray(e)?{entries:Hr(e)}:Vr(e)?{entries:Hr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const Z={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},Wr={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[Z,{type:`object`,properties:{title:{type:`string`},entries:Z,events:Z,items:Z},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Ur(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:Br},Gr=[`mcp-app`,`browser`,`export`];function Kr(e){return typeof e==`object`&&!!e}function qr(e){return Kr(e)&&typeof e.label==`string`}function Jr(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(qr).map(Jr):[]}}function Yr(e){if(!Kr(e))return{};let t=e.root;return qr(t)?Jr(t):Kr(t)?t:e}const Xr={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:Yr(e)}],hydration:[`tree`],supportedTransports:Gr},Q=new Vn;Q.register(Fr),Q.register(Wn),Q.register(rr),Q.register(lr),Q.register(xr),Q.register(Ar),Q.register(Wr),Q.register(Xr),Q.register(Xn),Q.register(G),Q.register(mr),Q.register(zr);let Zr=0;function Qr(){return Zr=(Zr+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Zr.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function $r(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.mjs`,selector:`[data-island="${e}"]`,needsData:!0}}function ei(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function ti(e,t){let n=[],r=t.registry??Q,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=>$r(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?G.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=zn(o,i),u=[z(o.map(e=>e.type))],d=t.nonce??Qr(),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:ei(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function ni(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function ri(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`&&ni(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`?ui(e.progress):void 0,items:n}]})}}function ii(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?`${(e=>e===`up`?`â`:e===`down`?`â`:`â`)(e.trend.direction)} ${e.trend.value}`:t,status:e.status}}function ai(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:ui(e.progress),max:100}}function oi(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 si(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function ci(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 li(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=>li(e)):[]}:{name:``,total:0,children:[]}}function ui(e){return Math.max(0,Math.min(100,e))}function di(e){let t=ri(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(ii)});let r=t.metrics.map(ai).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 fi(e){let t=oi(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(si)})}),n}function pi(e){let t=ci(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function mi(e){return!$(e)||!$(e.profile)?[]:[{type:`flame-graph`,value:li(e.profile)}]}const hi={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=>di(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},gi={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=>fi(e),hydration:[],supportedTransports:[`browser`]},_i={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=>pi(e),hydration:[],supportedTransports:[`browser`]},vi={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=>mi(e),hydration:[`flame-graph`],supportedTransports:[`browser`]},yi={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 bi(){return yi}function xi(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function Si(e,t){let n=[`
|
|
3135
3157
|
* {
|
|
3136
3158
|
box-sizing: border-box;
|
|
3137
3159
|
}
|
|
@@ -3289,25 +3311,25 @@ main > * {
|
|
|
3289
3311
|
}
|
|
3290
3312
|
`,An,...(Array.isArray(t)?t:typeof t==`string`?[t]:[]).filter(e=>e.trim().length>0)].join(`
|
|
3291
3313
|
`);return[` <style>${e}</style>`,` <style>${n}</style>`].join(`
|
|
3292
|
-
`)}function
|
|
3314
|
+
`)}function Ci(e){let t=Object.entries(L).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
3293
3315
|
`);return[e,`html[data-theme="light"] {
|
|
3294
3316
|
color-scheme: light;
|
|
3295
3317
|
}`,`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(`
|
|
3296
3318
|
|
|
3297
|
-
`)}function
|
|
3319
|
+
`)}function wi(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(`
|
|
3298
3320
|
`)}).join(`
|
|
3299
|
-
`)}function
|
|
3300
|
-
`)}function
|
|
3301
|
-
`)}function
|
|
3302
|
-
`)}function
|
|
3303
|
-
`)}function
|
|
3321
|
+
`)}function Ti(e,t,r=`client-only`){let i=JSON.stringify(e),a=Ei(r),o=Di(bi());return[` <script${` nonce="${n(t)}"`}>`,` (() => {`,` const preferredTheme = ${i};`,` 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]);`,` }`,` };`,a,` 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");`,` };`,o,` document.addEventListener("click", (event) => {`,` const themeToggle = event.target?.closest?.(".aikit-theme-toggle");`,` if (themeToggle) { window.toggleTheme(); }`,` const toolboxToggle = event.target?.closest?.(".aikit-toolbox-toggle");`,` if (toolboxToggle) { window.toggleToolbox(); }`,` const chromeAction = event.target?.closest?.("[data-shared-chrome-action]");`,` if (chromeAction) {`,` const actionId = chromeAction.getAttribute("data-shared-chrome-action");`,` if (actionId === "copy-image") { window.screenshotPage(); }`,` if (actionId === "download-image") { window.downloadPng(); }`,` }`,` 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(`
|
|
3322
|
+
`)}function Ei(e){let t=e===`browser-server`;return[` const captureDocumentAsPng = async () => {`,` try {`,` return await captureDomViaSvg();`,` } catch (_err) {`,` // SVG foreignObject failed (tainted canvas or ForeignObject error).`,` // Fall back to server-side capture via agent-browser.`,` // We do NOT try html2canvas here -- Edge's Tracking Prevention`,` // blocks CDN script loading, and modern CSS color functions can`,` // cause parse errors. The server method (agent-browser isolated`,` // browser) is more reliable for this fallback path.`,` console.warn("SVG capture failed, falling back to server:", _err);`,` }`,` throw new Error("Client capture failed, use server fallback");`,` };`,` const captureDomViaSvg = 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 ensureHtml2canvas = async () => {`,` if (typeof window.html2canvas === "function") return;`,` if (typeof window.html2canvas_pro === "function") return;`,` var loaded = false;`,` var urls = [`,` "https://cdn.jsdelivr.net/npm/html2canvas-pro@1.5.5/dist/html2canvas.min.js",`,` "https://unpkg.com/html2canvas-pro@1.5.5/dist/html2canvas.min.js",`,` ];`,` for (var i = 0; i < urls.length; i++) {`,` try {`,` await new Promise(function(resolve, reject) {`,` var s = document.createElement("script");`,` s.src = urls[i];`,` s.onload = resolve;`,` s.onerror = reject;`,` document.head.appendChild(s);`,` });`,` loaded = true;`,` break;`,` } catch (_e) {`,` console.warn("html2canvas CDN fallback", i, _e);`,` }`,` }`,` if (!loaded) throw new Error("Failed to load html2canvas from any CDN");`,` };`,` const captureViaHtml2canvas = async () => {`,` var h2c = (typeof window.html2canvas_pro === "function") ? window.html2canvas_pro :`,` (typeof window.html2canvas === "function") ? window.html2canvas : null;`,` if (!h2c) throw new Error("html2canvas not available");`,` var bg = document.documentElement ? getComputedStyle(document.documentElement).backgroundColor : "";`,` var canvas = await h2c(document.documentElement, {`,` useCORS: true,`,` allowTaint: false,`,` scale: window.devicePixelRatio || 1,`,` logging: false,`,` backgroundColor: bg || "#ffffff",`,` });`,` var blob = await new Promise(function(resolve) { canvas.toBlob(resolve, "image/png"); });`,` if (!blob || blob.type !== "image/png") throw new Error("html2canvas PNG export failed");`,` return blob;`,` };`,...t?[` const captureClipboardPng = async () => {`,` console.warn("Server Copy as Image fallback request started", "/__aikit_clipboard.png");`,` const response = await fetch("/__aikit_clipboard.png", { method: "POST", cache: "no-store" });`,` if (!response.ok) {`,` const body = await response.text().catch(() => "");`,` throw new Error(`,` body`,` ? "Server clipboard capture unavailable (" + response.status + " " + response.statusText + "): " + body`,` : "Server clipboard capture unavailable (" + response.status + " " + response.statusText + ")",`,` );`,` }`,` const blob = await response.blob();`,` if (!blob || blob.type !== "image/png") {`,` throw new Error("Server clipboard capture failed (" + (blob?.type || "unknown content-type") + ")");`,` }`,` return blob;`,` };`]:[` const captureClipboardPng = async () => {`,` throw new Error("Server image capture is unavailable in this transport.");`,` };`],` 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;`,` let imageSet = 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" }));`,` imageSet = true;`,` 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}">`);',` if (!imageSet) {`,` data.setData("text/plain", dataUrl);`,` }`,` 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);`,` }`,` };`,...t?[` const writeImageToClipboardViaServer = async (blob) => {`,` const response = await fetch("/__aikit_system_clipboard", {`,` method: "POST",`,` body: blob,`,` });`,` if (!response.ok) {`,` const text = await response.text().catch(() => "Unknown server error");`,` throw new Error("Server clipboard write failed: " + text);`,` }`,` };`]:[` const writeImageToClipboardViaServer = async () => {`,` throw new Error("Server clipboard write is unavailable in this transport.");`,` };`],` const downloadImage = async (blob, filename = "aikit-present.png") => {`,` const url = URL.createObjectURL(blob);`,` const link = document.createElement("a");`,` link.href = url;`,` link.download = filename;`,` document.body.appendChild(link);`,` link.click();`,` link.remove();`,` setTimeout(() => URL.revokeObjectURL(url), 10000);`,` };`].join(`
|
|
3323
|
+
`)}function Di(e){return[` window.toggleToolbox = () => {`,` const menu = toolbox.menu();`,` setToolboxOpen(Boolean(menu?.hidden), { focusItem: Boolean(menu?.hidden) });`,` };`,` window.downloadPng = async () => {`,` const scrollX = window.scrollX;`,` const scrollY = window.scrollY;`,` setToolboxOpen(false);`,` window.scrollTo(0, 0);`,` await new Promise((resolve) => window.requestAnimationFrame(() => resolve(undefined)));`,` let blob;`,` try {`,` try {`,` blob = await captureClipboardPng();`,` } catch (serverError) {`,` console.warn("Server PNG capture unavailable, trying client-side SVG fallback:", serverError);`,` blob = await captureDocumentAsPng();`,` }`,` if (!blob) throw new Error("Screenshot capture returned no image");`,` const timestamp = new Date().toISOString().replace(/[.:]/g, "-");`," await downloadImage(blob, `aikit-present-${timestamp}.png`);",` showCopyStatus("Downloaded image.");`,` } catch (_error) {`,` console.warn("Download Image failed", _error);`,` showCopyStatus("Screenshot capture failed. Try using your browser's screenshot tool.", "error");`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`,` 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)));`,` let blob;`,` try {`,` blob = await captureClipboardPng();`,` } catch (captureError) {`,` console.warn("Server CDP capture failed, trying client-side SVG:", captureError);`,` try {`,` blob = await captureDocumentAsPng();`,` } catch (_svgError) {`,` console.warn("SVG capture also failed");`,` }`,` }`,` try {`,` if (!blob) throw new Error("No image captured");`,` await writeImageToClipboardViaServer(blob);`,` showCopyStatus(${JSON.stringify(`Copied image to clipboard.`)});`,` } catch (clipboardError) {`,` console.warn("Server clipboard write failed, trying client-side:", clipboardError);`,` try {`,` if (blob) {`,` await writeImageToClipboard(blob);`,` showCopyStatus(${JSON.stringify(`Copied image to clipboard.`)});`,` }`,` } catch (_clientError) {`,` console.warn("Client-side clipboard also failed", _clientError);`,` if (blob) {`,` try {`,` const timestamp = new Date().toISOString().replace(/[.:]/g, "-");`," await downloadImage(blob, `aikit-present-${timestamp}.png`);",` showCopyStatus(${JSON.stringify(`Clipboard blocked â image downloaded instead.`)});`,` } catch (_downloadError) {`,` showCopyStatus(${JSON.stringify(e.blockedClipboardMessage)}, "error");`,` }`,` } else {`,` showCopyStatus(${JSON.stringify(`Screenshot capture failed.`)}, "error");`,` }`,` }`,` } finally {`,` window.scrollTo(scrollX, scrollY);`,` }`,` };`].join(`
|
|
3324
|
+
`)}function Oi(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(`
|
|
3325
|
+
`)}function ki(e){let t=n(e.lang??`en`),r=n(e.dir??`ltr`),i=e.colorScheme??`auto`,a=e.imageExportMode??`client-only`,o=e.generatedAt??new Date().toISOString(),s=[`lang="${t}"`,`dir="${r}"`];i!==`auto`&&s.push(`data-theme="${i}"`);let c=``;e.maxWidth?(c+=` --aikit-max-width: ${e.maxWidth};\n`,c+=` --aikit-max-width-wide: ${e.maxWidth};\n`):e.layoutVariant===`wide`?(c+=` --aikit-max-width: 1400px;
|
|
3304
3326
|
`,c+=` --aikit-max-width-wide: 1400px;
|
|
3305
3327
|
`):e.layoutVariant===`full`&&(c+=` --aikit-max-width: none;
|
|
3306
3328
|
`,c+=` --aikit-max-width-wide: none;
|
|
3307
3329
|
`,c+=` --aikit-main-padding: 0;
|
|
3308
|
-
`),e.mainPadding&&(c+=` --aikit-main-padding: ${e.mainPadding};\n`),e.mainGap&&(c+=` --aikit-main-gap: ${e.mainGap};\n`);let l=``;e.showGlassCss&&(l=gn);let u=
|
|
3330
|
+
`),e.mainPadding&&(c+=` --aikit-main-padding: ${e.mainPadding};\n`),e.mainGap&&(c+=` --aikit-main-gap: ${e.mainGap};\n`);let l=``;e.showGlassCss&&(l=gn);let u=Ci(e.tokenCss??Sn(`light`)),d=wi(e.headScripts??[],e.nonce),f=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${xi(e.payload)}<\/script>`:``,p=Oi(e.islands,e.exportPolicy,e.nonce),m=e.showGradientGlow?`
|
|
3309
3331
|
<div class="aikit-glow-primary"></div>
|
|
3310
3332
|
<div class="aikit-glow-secondary"></div>
|
|
3311
|
-
`:``,h=
|
|
3312
|
-
`),_=Array.isArray(e.css)?e.css:[e.css];return[`<!DOCTYPE html>`,`<html ${s.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,c?` <style>main {${c}}</style>`:``,
|
|
3313
|
-
`)}export{B as HEADER_CLASS_NAMES,An as HEADER_CSS,
|
|
3333
|
+
`:``,h=Ti(i,e.nonce,a),g=[f,p].filter(Boolean).join(`
|
|
3334
|
+
`),_=Array.isArray(e.css)?e.css:[e.css];return[`<!DOCTYPE html>`,`<html ${s.join(` `)}>`,`<head>`,` <meta charset="utf-8">`,` <meta name="viewport" content="width=device-width, initial-scale=1">`,` <title>${n(e.title)}</title>`,c?` <style>main {${c}}</style>`:``,Si(u,[..._,l].filter(Boolean)),d,`</head>`,`<body>`,On({title:e.title,subtitle:e.subtitle,transport:e.transport,actionsHtml:e.headerActionsHtml,showToolbox:e.showToolbox??!0,sharedChromeActions:a===`disabled`?[]:void 0}),h,m,` <main>${e.html}</main>`,kn({generatedAt:o,contentHtml:e.footerContentHtml,showInstallGuide:e.showInstallGuide,installUrl:e.installUrl}),g,`</body>`,`</html>`].filter(Boolean).join(`
|
|
3335
|
+
`)}export{B as HEADER_CLASS_NAMES,An as HEADER_CSS,Vn as TemplateRegistry,_n as allCss,hn as baseCss,f as blockItems,bi as buildCopyImageExportFallback,kn as buildFooter,On as buildHeader,ki as buildShell,Ti as buildThemeScript,Wn as checklistTemplate,z as collectCss,mn as darkTokenNames,L as darkTokens,hi as dashboardTemplateDefinition,Xn as dataTableTemplate,Q as defaultRegistry,rr as diffViewTemplate,lr as documentTemplate,G as errorTemplate,n as escapeHtml,vi as flameGraphTemplateDefinition,mr as formTemplate,a as formatValue,xn as generateDarkTokenCss,Sn as generateTokenCss,gn as glassCss,s as inlineMarkdown,t as isError,e as isResult,gi as kanbanTemplateDefinition,_i as listSortTemplateDefinition,xr as pickerTemplate,Rn as renderBlock,zn as renderBlocks,ti as renderSurface,Ar as reportTemplate,Fr as reviewTemplate,i as sanitizeId,r as sanitizeUrl,zr as statusBoardTemplate,Wr as timelineTemplate,pn as tokenNames,I as tokens,u as toneName,d as toneVar,Xr as treeTemplate,o as tryParseJson};
|