@vpxa/aikit 0.1.342 → 0.1.344
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 +18 -16
- package/packages/browser/dist/index.js +4 -3
- package/packages/server/dist/bin.js +1 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/prelude-DOxnDMN4.js +2 -0
- package/packages/server/dist/prelude-Dzih_AGV.js +1 -0
- package/packages/server/dist/{server-CwYfCGQr.js → server-2ntNwLtr.js} +72 -90
- package/packages/server/dist/{server-http-2zHnHy1e.js → server-http-BXF275jD.js} +1 -1
- package/packages/server/dist/{server-http-BNm7jb2u.js → server-http-BwaQWT2R.js} +1 -1
- package/packages/server/dist/{server-DjMWDhDD.js → server-qVK37TfU.js} +72 -90
- package/packages/server/dist/{server-stdio-Bf_YCZLu.js → server-stdio-By2Kx_7Y.js} +1 -1
- package/packages/server/dist/{server-stdio-C9dH1M3E.js → server-stdio-DVjY0Ebj.js} +1 -1
- package/packages/server/viewers/architecture-static.html +802 -789
- package/packages/server/viewers/c4-viewer.html +27 -27
- package/packages/server/viewers/canvas.html +83 -83
- package/packages/server/viewers/process-flow-static.html +13 -2
- package/packages/server/viewers/task-plan-static.html +7 -7
- package/packages/server/viewers/tour-viewer.html +3 -3
- package/scaffold/dist/definitions/bodies.mjs +1 -2
- package/scaffold/dist/definitions/skills/browser-use.mjs +63 -33
- 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 +14 -0
- package/packages/server/dist/prelude-BBzH1oUe.js +0 -1
- package/packages/server/dist/prelude-DMZvfysi.js +0 -2
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function p(e){let t=o(e);return Array.isArray(t)?t:[]}function m(e,t){return`<div class="bk-actions">${p(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}if(e.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${t}"><input type="text" class="bk-input" placeholder="${n(e.label)}" data-action-id="${t}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${t}">Send</button></div>`;if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}"><fieldset>${Object.entries(r).map(([e,t])=>{let r=t.description??e,i=t.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${n(r)}</span><input type="${i}" class="bk-input" name="${n(e)}" placeholder="${n(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${n(e.label)}</button></fieldset></form>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}<div 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>`}function ee(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}const h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],te=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function ne(e,t){let n=re(e),r=de(n.headers,n.data);if(n.data.length===0||!te.has(n.chartType))return fe(n.note,r);let i=ie(n);if(!i)return fe(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?me(a):``}${pe(r)}</div>`}function re(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=te.has(i)?i:`bar`,s=n(i),c=he(r,String(t?.xKey??`label`)),l=Array.isArray(t?.yKeys)?t.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:a,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return ce(e,!1);case`donut`:return ce(e,!0);case`sparkline`:return le(e);case`heatmap`:return ue(e);default:return``}}function ae(e,t){let r=g(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=v(i),o=_(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>xe(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=h[n%h.length],c=r.map((e,t)=>{let r=s[t],i=y(e.values[n],a,o.bottom,o.top);return`${w(r)},${w(i)}`}),l=r.map((e,t)=>{let r=s[t],c=y(e.values[n],a,o.bottom,o.top);return`<circle cx="${w(r)}" cy="${w(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return t?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${w(s[0])},${w(o.bottom)}`,...c,`${w(s[s.length-1])},${w(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n(`${e.chartType} chart`)}">${_e(o,a)}${ye(o)}${be(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=g(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=v(n,{includeZero:!0}),i=_(500,300,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=y(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=h[t%h.length],s=n+t*(o+4),l=y(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${w(s)}" y="${w(u)}" width="${w(o)}" height="${w(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${_e(i,r)}${ye(i)}${be(t,u,i.bottom+18)}${l}</svg>`}function se(e){let t=g(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=v(r,{includeZero:!0}),a=_(500,300,{left:110,right:20,top:20,bottom:36}),o=a.height/t.length,s=Math.max(4,Math.min(18,(o-8-4*(e.yKeys.length-1))/e.yKeys.length)),c=e.yKeys.length*s+(e.yKeys.length-1)*4,l=y(0,i,a.left,a.right),u=t.map((e,t)=>{let r=a.top+t*o+(o-c)/2,u=a.top+t*o+o/2+4;return`${`<text class="bk-chart-label" x="${w(a.left-8)}" y="${w(u)}" text-anchor="end">${n(e.label)}</text>`}${e.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=y(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${w(u)}" y="${w(o)}" width="${w(d)}" height="${w(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ve(a,i)}<line class="bk-chart-axis" x1="${w(l)}" y1="${w(a.top)}" x2="${w(l)}" y2="${w(a.bottom)}" />${u}</svg>`}function ce(e,t){let r=ge(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:x(t[e.xKey]),value:S(t[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=t?88*.6:0,s=-90,c=[],l=[];i.forEach((e,r)=>{let i=h[r%h.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?Ce(150,140,88,o,s,d):Se(150,140,88,s,d);c.push(`${p?`<path d="${p}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="150" cy="140" r="88" fill="${i}" />`}`);let m=b(150,140,108,s+u/2);l.push(`<text class="bk-chart-slice-label" x="${w(m.x)}" y="${w(m.y)}" text-anchor="${m.x>=150?`start`:`end`}">${n(e.label)} ${n(C(f))}%</text>`),s=d});let u=t?`<circle cx="150" cy="140" r="${w(o-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 300 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${t?`donut chart`:`pie chart`}">${c.join(``)}${u}${l.join(``)}</svg>`}function le(e){let t=ge(e.data,e.xKey,e.yKeys),n=e.data.map(e=>S(e[t]));if(n.every(e=>e===0))return``;let r=v(n),i=n.map((e,t)=>{let i=xe(t,n.length,0,100),a=y(e,r,28,2);return`${w(i)},${w(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 100 30" width="100%" height="30" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ue(e){let t=e.data.map(t=>({label:x(t[e.xKey]),values:e.yKeys.map(e=>S(t[e]))})),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=v(r),a=_(500,300,{left:80,right:20,top:42,bottom:20}),o=a.width/e.yKeys.length,s=a.height/t.length;return`<svg class="bk-chart-svg" viewBox="0 0 500 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${e.yKeys.map((e,t)=>`<text class="bk-chart-label" x="${w(a.left+t*o+o/2)}" y="28" text-anchor="middle">${n(e)}</text>`).join(``)}${t.map((e,t)=>{let r=a.top+t*s+s/2+4;return`<text class="bk-chart-label" x="${w(a.left-8)}" y="${w(r)}" text-anchor="end">${n(e.label)}</text>`}).join(``)}${t.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${w(r)}" y="${w(c)}" width="${w(o-4)}" height="${w(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${we(e,i)}" />`}).join(``)).join(``)}</svg>`}function de(e,t){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${e.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead><tbody>${t.map(t=>`<tr>${e.map(e=>`<td>${n(a(t[e]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function fe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function pe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function me(e){return`<div class="bk-chart-legend">${e.map((e,t)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${h[t%h.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function he(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function ge(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Te(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Te(n[e]));if(e)return e}return n[0]??`value`}function g(e,t,n){return e.map(e=>({label:x(e[t]),values:n.map(t=>S(e[t]))}))}function _e(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.max-a*(t.max-t.min),s=e.top+a*e.height;return`<line class="bk-chart-grid" x1="${w(e.left)}" y1="${w(s)}" x2="${w(e.right)}" y2="${w(s)}" /><text class="bk-chart-label" x="${w(e.left-8)}" y="${w(s+4)}" text-anchor="end">${n(C(o))}</text>`}).join(``)}function ve(e,t){return Array.from({length:5},(r,i)=>{let a=i/4,o=t.min+a*(t.max-t.min),s=e.left+a*e.width;return`<line class="bk-chart-grid" x1="${w(s)}" y1="${w(e.top)}" x2="${w(s)}" y2="${w(e.bottom)}" /><text class="bk-chart-label" x="${w(s)}" y="${w(e.bottom+18)}" text-anchor="middle">${n(C(o))}</text>`}).join(``)}function ye(e){return`<line class="bk-chart-axis" x1="${w(e.left)}" y1="${w(e.top)}" x2="${w(e.left)}" y2="${w(e.bottom)}" /><line class="bk-chart-axis" x1="${w(e.left)}" y1="${w(e.bottom)}" x2="${w(e.right)}" y2="${w(e.bottom)}" />`}function be(e,t,r){return e.map((e,i)=>`<text class="bk-chart-label" x="${w(t[i])}" y="${w(r)}" text-anchor="middle">${n(e.label)}</text>`).join(``)}function _(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function v(e,t){let n=Math.min(...e),r=Math.max(...e);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function xe(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function y(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Se(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=b(e,t,n,r),o=b(e,t,n,i),s=+(i-r>180);return`M ${w(e)} ${w(t)} L ${w(a.x)} ${w(a.y)} A ${w(n)} ${w(n)} 0 ${s} 1 ${w(o.x)} ${w(o.y)} Z`}function Ce(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=b(e,t,n,i),s=b(e,t,n,a),c=b(e,t,r,a),l=b(e,t,r,i),u=+(a-i>180);return[`M ${w(o.x)} ${w(o.y)}`,`A ${w(n)} ${w(n)} 0 ${u} 1 ${w(s.x)} ${w(s.y)}`,`L ${w(c.x)} ${w(c.y)}`,`A ${w(r)} ${w(r)} 0 ${u} 0 ${w(l.x)} ${w(l.y)}`,`Z`].join(` `)}function b(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function we(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${w(100-n)}%, var(--dt-accent-fg) ${w(n)}%)`}function x(e){return e==null?``:String(a(e))}function S(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Te(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function C(e){return String(a(Number(e.toFixed(2))))}function w(e){return Number(e.toFixed(2)).toString()}function Ee(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function De(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function Oe(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function ke(e,t){return`<div class="bk-comparison">${Oe(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function Ae(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`Untitled component`,description:typeof e.description==`string`?e.description:void 0,type:typeof e.type==`string`?e.type:void 0,technology:typeof e.technology==`string`?e.technology:void 0,responsibilities:Array.isArray(e.responsibilities)?e.responsibilities.map(String).filter(Boolean):[],interfaces:Array.isArray(e.interfaces)?e.interfaces:[],dependencies:Array.isArray(e.dependencies)?e.dependencies:[],metrics:e.metrics&&typeof e.metrics==`object`?e.metrics:void 0,codeLinks:Array.isArray(e.codeLinks)?e.codeLinks:[]}}return{name:`Untitled component`}}function je(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${e.map(e=>`<li>${n(e)}</li>`).join(``)}</ul></details>`}function Me(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Interfaces</summary><div class="bk-component-detail-table-wrap"><table class="bk-component-detail-table"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody>${e.map(e=>`<tr><td class="bk-component-detail-code">${n(e.name)}</td><td class="bk-component-detail-code">${n(e.type)}</td><td>${n(e.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function Ne(e){return e.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${e.map(e=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${n(e.name)}</span>${e.relationship?`<span class="bk-component-detail-dependency-relationship">${n(e.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function Pe(e){let t=Object.entries(e??{});return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${t.map(([e,t])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${n(e)}</span><strong class="bk-component-detail-metric-value">${n(String(t))}</strong></div>`).join(``)}</div></details>`}function Fe(e){let t=Array.isArray(e.codeLinks)?e.codeLinks:[];return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${t.map(e=>`<a class="bk-component-detail-link" href="${r(e.href)}">${n(e.label)}</a>`).join(``)}</div></details>`}function Ie(e,t){let r=Ae(e.value),i=r.description?`<p class="bk-component-detail-description">${n(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${n(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${n(r.technology)}</span>`:``,s=[je(r.responsibilities??[]),Me(r.interfaces??[]),Ne(r.dependencies??[]),Pe(r.metrics),Fe(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${n(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function Le(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`unnamed_schema`,description:typeof e.description==`string`?e.description:void 0,fields:Array.isArray(e.fields)?e.fields:[],indexes:Array.isArray(e.indexes)?e.indexes:[]}}return{name:`unnamed_schema`,fields:[]}}function Re(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function ze(e){return e.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${r(`#${i(e.slice(12).replace(/\./g,`_`))}`)}">${n(e)}</a>`:`<span class="bk-data-table-schema-badge${e===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${n(e)}</span>`}function Be(e){return e.length===0?``:`<section class="bk-data-table-schema-indexes"><h5 class="bk-data-table-schema-subtitle">Indexes</h5><div class="bk-data-table-schema-index-grid">${e.map(e=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${n(e.name)}</div><div class="bk-data-table-schema-index-columns">${n(e.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${e.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}function Ve(e,t){let r=Le(e.value),a=r.description?`<p class="bk-data-table-schema-description">${n(r.description)}</p>`:``;if(!Array.isArray(r.fields)||r.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${n(r.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=r.fields.map(e=>{let t=Array.isArray(e.constraints)?e.constraints:[],a=t.length>0?t.map(e=>ze(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Re(e)?` bk-data-table-schema-row--primary`:``}" id="${i(`${r.name}_${e.name}`)}"><td class="bk-data-table-schema-code">${n(e.name)}</td><td class="bk-data-table-schema-code">${n(e.type)}</td><td class="bk-data-table-schema-required">${e.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${n(e.default??`—`)}</td><td>${n(e.description??``)}</td></tr>`}).join(``);return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${n(r.name)}</h4>${a}</header><div class="bk-data-table-schema-wrap"><table class="bk-data-table-schema-table"><thead><tr><th>Field Name</th><th>Type</th><th>Required</th><th>Constraints</th><th>Default</th><th>Description</th></tr></thead><tbody>${o}</tbody></table></div>${Be(r.indexes??[])}</section>`}function He(e,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=String(r.diagram_type??`unknown`),a=r.meta,o=String(a?.title??`Diagram`),s=a?.subtitle?String(a.subtitle):void 0,c=T(r.components??r.nodes??r.participants??r.states??[]),l=T(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`<dt>Type</dt><dd>${n(i)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&u.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let d=``;c.length>0&&(d=`<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??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 f=``;l.length>0&&(f=`<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>`:``}`);let p=s?`<p class="bk-diagram-subtitle">${n(s)}</p>`:``;return`<div class="bk-diagram">
|
|
1
|
+
function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}function n(e){return String(e??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function r(e){let t=String(e??``).trim();return/^(https?:|mailto:|#)/i.test(t)?t:`#`}function i(e){return String(e??``).replace(/[^a-zA-Z0-9_-]/g,`_`)}function a(e){if(e==null)return``;if(Array.isArray(e))return e.map(a).join(`, `);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function o(e){if(typeof e!=`string`)return e;let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`)||t.startsWith(`{`)&&t.endsWith(`}`))try{return JSON.parse(t)}catch{return e}return e}function s(e){return n(String(e??``)).replace(/\*\*(.+?)\*\*/g,`<strong>$1</strong>`).replace(/`(.+?)`/g,`<code>$1</code>`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`<a href="${r(n)}">${t}</a>`)}const c={ok:`success`,pass:`success`,passed:`success`,good:`success`,error:`danger`,fail:`danger`,failed:`danger`,critical:`danger`,high:`danger`,warn:`warning`,caution:`warning`,medium:`warning`,info:`accent`,low:`accent`,note:`accent`},l=new Set([`success`,`danger`,`warning`,`accent`]);function u(e){if(!e)return`accent`;let t=String(e).toLowerCase(),n=c[t]??t;return l.has(n)?n:`accent`}function d(e,t=`fg`){return`var(--dt-${u(e)}-${t})`}function f(e){let t=e.value;return Array.isArray(t)?t:t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}function p(e){let t=o(e);return Array.isArray(t)?t:[]}function m(e,t){return`<div class="bk-actions">${p(e.value).map(e=>{let t=i(e.id);if(e.type===`select`){let r=(e.options??[]).map(e=>{let t=typeof e==`string`?e:e.value,r=typeof e==`string`?e:e.label;return`<option value="${n(t)}">${n(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${n(e.label)}</span><select class="bk-select" data-action-id="${t}"><option value="" selected disabled>${n(e.label)}</option>${r}</select></label>`}if(e.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${t}"><input type="text" class="bk-input" placeholder="${n(e.label)}" data-action-id="${t}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${t}">Send</button></div>`;if(e.type===`form-submit`&&e.schema){let r=e.schema;return`<form class="bk-form" data-action-id="${t}"><fieldset>${Object.entries(r).map(([e,t])=>{let r=t.description??e,i=t.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${n(r)}</span><input type="${i}" class="bk-input" name="${n(e)}" placeholder="${n(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${n(e.label)}</button></fieldset></form>`}return`<button type="button" class="bk-action bk-action--${n(e.variant??`default`)}" data-action-id="${t}">${n(e.label)}</button>`}).join(``)}<div 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>`}function ee(e,t){return`<div class="bk-cards">${f(e).map(e=>{let t=e.badge?`<span class="bk-card-badge">${n(e.badge)}</span>`:``,r=e.body?`<div class="bk-card-body">${n(e.body)}</div>`:``,i=e.description?`<div class="bk-card-description">${n(e.description)}</div>`:``;return`<article class="bk-card" data-tone="${u(e.status)}"><div class="bk-card-header"><div class="bk-card-title">${n(e.title)}</div>${t}</div>${r}${i}</article>`}).join(``)}</div>`}const h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],g=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]);function te(e,t){let n=ne(e),r=ue(n.headers,n.data);if(n.data.length===0||!g.has(n.chartType))return de(n.note,r);let i=re(n);if(!i)return de(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?pe(a):``}${fe(r)}</div>`}function ne(e){let t=o(e.value),r=Array.isArray(t?.data)?t.data:[],i=String(t?.chartType??e.chartType??`bar`),a=g.has(i)?i:`bar`,s=n(i),c=me(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 re(e){switch(e.chartType){case`line`:case`area`:return ie(e,e.chartType===`area`);case`bar`:return ae(e);case`horizontal-bar`:return oe(e);case`pie`:return se(e,!1);case`donut`:return se(e,!0);case`sparkline`:return ce(e);case`heatmap`:return le(e);default:return``}}function ie(e,t){let r=_(e.data,e.xKey,e.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=y(i),o=v(500,300,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>be(t,r.length,o.left,o.right)),c=e.yKeys.map((e,n)=>{let i=h[n%h.length],c=r.map((e,t)=>{let r=s[t],i=b(e.values[n],a,o.bottom,o.top);return`${T(r)},${T(i)}`}),l=r.map((e,t)=>{let r=s[t],c=b(e.values[n],a,o.bottom,o.top);return`<circle cx="${T(r)}" cy="${T(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="${[`${T(s[0])},${T(o.bottom)}`,...c,`${T(s[s.length-1])},${T(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`)}">${ge(o,a)}${ve(o)}${ye(r,s,o.bottom+18)}${c}</svg>`}function ae(e){let t=_(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=y(n,{includeZero:!0}),i=v(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=b(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=h[t%h.length],s=n+t*(o+4),l=b(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${T(s)}" y="${T(u)}" width="${T(o)}" height="${T(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">${ge(i,r)}${ve(i)}${ye(t,u,i.bottom+18)}${l}</svg>`}function oe(e){let t=_(e.data,e.xKey,e.yKeys),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=y(r,{includeZero:!0}),a=v(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=b(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="${T(a.left-8)}" y="${T(u)}" text-anchor="end">${n(e.label)}</text>`}${e.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=b(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${T(u)}" y="${T(o)}" width="${T(d)}" height="${T(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">${_e(a,i)}<line class="bk-chart-axis" x1="${T(l)}" y1="${T(a.top)}" x2="${T(l)}" y2="${T(a.bottom)}" />${u}</svg>`}function se(e,t){let r=he(e.data,e.xKey,e.yKeys),i=e.data.map(t=>({label:S(t[e.xKey]),value:C(t[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=t?88*.6:0,s=-90,c=[],l=[];i.forEach((e,r)=>{let i=h[r%h.length],u=e.value/a*360,d=s+u,f=e.value/a*100,p=t?Se(150,140,88,o,s,d):xe(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=x(150,140,108,s+u/2);l.push(`<text class="bk-chart-slice-label" x="${T(m.x)}" y="${T(m.y)}" text-anchor="${m.x>=150?`start`:`end`}">${n(e.label)} ${n(w(f))}%</text>`),s=d});let u=t?`<circle cx="150" cy="140" r="${T(o-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 300 300" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${t?`donut chart`:`pie chart`}">${c.join(``)}${u}${l.join(``)}</svg>`}function ce(e){let t=he(e.data,e.xKey,e.yKeys),n=e.data.map(e=>C(e[t]));if(n.every(e=>e===0))return``;let r=y(n),i=n.map((e,t)=>{let i=be(t,n.length,0,100),a=b(e,r,28,2);return`${T(i)},${T(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 100 30" width="100%" height="30" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function le(e){let t=e.data.map(t=>({label:S(t[e.xKey]),values:e.yKeys.map(e=>C(t[e]))})),r=t.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=y(r),a=v(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="${T(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="${T(a.left-8)}" y="${T(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="${T(r)}" y="${T(c)}" width="${T(o-4)}" height="${T(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Ce(e,i)}" />`}).join(``)).join(``)}</svg>`}function ue(e,t){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${e.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead><tbody>${t.map(t=>`<tr>${e.map(e=>`<td>${n(a(t[e]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function de(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function fe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function pe(e){return`<div class="bk-chart-legend">${e.map((e,t)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${h[t%h.length]}"></span>${n(e)}</span>`).join(``)}</div>`}function me(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 he(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>we(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&we(n[e]));if(e)return e}return n[0]??`value`}function _(e,t,n){return e.map(e=>({label:S(e[t]),values:n.map(t=>C(e[t]))}))}function ge(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="${T(e.left)}" y1="${T(s)}" x2="${T(e.right)}" y2="${T(s)}" /><text class="bk-chart-label" x="${T(e.left-8)}" y="${T(s+4)}" text-anchor="end">${n(w(o))}</text>`}).join(``)}function _e(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="${T(s)}" y1="${T(e.top)}" x2="${T(s)}" y2="${T(e.bottom)}" /><text class="bk-chart-label" x="${T(s)}" y="${T(e.bottom+18)}" text-anchor="middle">${n(w(o))}</text>`}).join(``)}function ve(e){return`<line class="bk-chart-axis" x1="${T(e.left)}" y1="${T(e.top)}" x2="${T(e.left)}" y2="${T(e.bottom)}" /><line class="bk-chart-axis" x1="${T(e.left)}" y1="${T(e.bottom)}" x2="${T(e.right)}" y2="${T(e.bottom)}" />`}function ye(e,t,r){return e.map((e,i)=>`<text class="bk-chart-label" x="${T(t[i])}" y="${T(r)}" text-anchor="middle">${n(e.label)}</text>`).join(``)}function v(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 y(e,t){let n=Math.min(...e),r=Math.max(...e);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function be(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function b(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function xe(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=x(e,t,n,r),o=x(e,t,n,i),s=+(i-r>180);return`M ${T(e)} ${T(t)} L ${T(a.x)} ${T(a.y)} A ${T(n)} ${T(n)} 0 ${s} 1 ${T(o.x)} ${T(o.y)} Z`}function Se(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=x(e,t,n,i),s=x(e,t,n,a),c=x(e,t,r,a),l=x(e,t,r,i),u=+(a-i>180);return[`M ${T(o.x)} ${T(o.y)}`,`A ${T(n)} ${T(n)} 0 ${u} 1 ${T(s.x)} ${T(s.y)}`,`L ${T(c.x)} ${T(c.y)}`,`A ${T(r)} ${T(r)} 0 ${u} 0 ${T(l.x)} ${T(l.y)}`,`Z`].join(` `)}function x(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 Ce(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) ${T(100-n)}%, var(--dt-accent-fg) ${T(n)}%)`}function S(e){return e==null?``:String(a(e))}function C(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 we(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function w(e){return String(a(Number(e.toFixed(2))))}function T(e){return Number(e.toFixed(2)).toString()}function Te(e,t){return`<ul class="bk-checklist">${f(e).map(e=>{let t=!!e.checked;return`<li class="bk-checklist-item" data-checked="${String(t)}"><span class="bk-checklist-icon">${t?`✓`:`×`}</span><span class="bk-checklist-label">${n(e.label)}</span></li>`}).join(``)}</ul>`}function Ee(e,t){let r=e.language?` language-${i(String(e.language))}`:``,a=e.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${r.trim()}">${n(o)}</code></pre>`}function De(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}function Oe(e,t){return`<div class="bk-comparison">${De(e.value).map(e=>{let t=e.items.map(e=>`<li>${n(e)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${n(e.title)}</div><ul class="bk-comparison-items">${t}</ul></section>`}).join(``)}</div>`}function ke(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 Ae(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 je(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 Me(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 Ne(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 Pe(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 Fe(e,t){let r=ke(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=[Ae(r.responsibilities??[]),je(r.interfaces??[]),Me(r.dependencies??[]),Ne(r.metrics),Pe(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 Ie(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 Le(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function Re(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 Be(e,t){let r=Ie(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=>Re(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Le(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>`}function Ve(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=String(r.diagram_type??`unknown`),a=r.meta,o=String(a?.title??`Diagram`),s=a?.subtitle?String(a.subtitle):void 0,c=E(r.components??r.nodes??r.participants??r.states??[]),l=E(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`<dt>Type</dt><dd>${n(i)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&u.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let d=``;c.length>0&&(d=`<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??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 f=``;l.length>0&&(f=`<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>`:``}`);let p=s?`<p class="bk-diagram-subtitle">${n(s)}</p>`:``;return`<div class="bk-diagram">
|
|
2
2
|
<details>
|
|
3
3
|
<summary>${n(o)} <small>(${n(i)}, ${c.length} components)</small></summary>
|
|
4
4
|
<div class="bk-diagram-content">
|
|
@@ -8,15 +8,15 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
|
|
|
8
8
|
${f}
|
|
9
9
|
</div>
|
|
10
10
|
</details>
|
|
11
|
-
</div>`}function
|
|
11
|
+
</div>`}function E(e){return Array.isArray(e)?e:[]}function He(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return Ue(t.before,t.after)}return``}function Ue(e,t){let n=e.split(`
|
|
12
12
|
`),r=t.split(`
|
|
13
13
|
`),i=[`@@ -1,${n.length} +1,${r.length} @@`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
|
|
14
|
-
`)}function
|
|
15
|
-
`),a=0,o=0,s=[];for(let e of i)if(e.startsWith(`@@`)){let t=e.match(/@@ -(\d+)/);if(t){a=parseInt(t[1],10)-1;let n=e.match(/\+(\d+)/);o=n?parseInt(n[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${n(e)}</td></tr>`)}else if(e.startsWith(`---`)||e.startsWith(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${n(e)}</td></tr>`);else if(e.startsWith(`+`))o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(e)}</td></tr>`);else if(e.startsWith(`-`))a++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n(e)}</td></tr>`);else{a++,o++;let t=e.startsWith(` `)?e:` ${e}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(t)}</td></tr>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function
|
|
14
|
+
`)}function We(e,t){let r=He(e.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
|
|
15
|
+
`),a=0,o=0,s=[];for(let e of i)if(e.startsWith(`@@`)){let t=e.match(/@@ -(\d+)/);if(t){a=parseInt(t[1],10)-1;let n=e.match(/\+(\d+)/);o=n?parseInt(n[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${n(e)}</td></tr>`)}else if(e.startsWith(`---`)||e.startsWith(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${n(e)}</td></tr>`);else if(e.startsWith(`+`))o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(e)}</td></tr>`);else if(e.startsWith(`-`))a++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n(e)}</td></tr>`);else{a++,o++;let t=e.startsWith(` `)?e:` ${e}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${n(t)}</td></tr>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function Ge(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}function Ke(e,t){return`<div class="bk-docs-browser">${Ge(e.value).map(e=>{let t=u(e.status),r=e.title?`<div class="bk-doc-title">${n(e.title)}</div>`:``,i=e.content?`<pre class="bk-doc-content">${n(e.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${n(e.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${t}-subtle);color:var(--dt-${t}-fg);">${n(e.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function qe(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,description:typeof e.description==`string`?e.description:void 0,pages:Array.isArray(e.pages)?e.pages:[]}}return{pages:[]}}function Je(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function Ye(e){let t=e.href?`a`:`article`,i=e.href?` href="${r(e.href)}"`:``,a=e.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${n(e.icon)}</span>`:``,o=e.description?`<p class="bk-docs-hub-card-description">${n(e.description)}</p>`:``,s=e.category?`<span class="bk-docs-hub-card-category">${n(e.category)}</span>`:``,c=e.status?`<span class="bk-docs-hub-card-status" data-tone="${Je(e.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${n(e.status)}</span>`:``;return`<${t} class="bk-docs-hub-card"${i}><div class="bk-docs-hub-card-head">${a}<div class="bk-docs-hub-card-copy"><div class="bk-docs-hub-card-title">${n(e.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${t}>`}function Xe(e,t){let r=qe(e.value),i=r.title?`<h4 class="bk-docs-hub-title">${n(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${n(r.description)}</p>`:``,o=Array.isArray(r.pages)?r.pages:[];return`<section class="bk-docs-hub"><div class="bk-docs-hub-header">${i}${a}</div>${o.length>0?`<div class="bk-docs-hub-grid">${o.map(e=>Ye(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Ze(e){let t=o(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}function Qe(e,t){let r=Ze(e),i=u(r.severity),a=r.detail===void 0?``:s(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${n(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${n(r.severity??`info`)}</span></div><div class="bk-finding-detail">${a}</div></article>`}function D(e){return typeof e==`object`&&!!e}function O(e){return D(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(O).filter(e=>e!==null):[]}:null}function $e(e){let t=[],n=[{node:e,depth:0}];for(;n.length>0;){let e=n.shift();if(!e)continue;let{node:r,depth:i}=e;t[i]||(t[i]=[]),t[i].push(r);for(let e of r.children??[])n.push({node:e,depth:i+1})}return t}function et(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}function tt(e,t){let r=o(e.value);if(!D(r))return`<div class="bk-flame"></div>`;let i=D(r.profile)?O(r.profile):O(r);if(!i)return`<div class="bk-flame"></div>`;let a=$e(i),s=Math.max(i.total,1);return`<div class="bk-flame">${a.map((e,t)=>`<div class="bk-flame-row">${e.map(e=>{let r=Math.max(.5,e.total/s*100),i=r<8?` bk-flame-bar-label--muted`:``,a=(e.children?.length??0)>0,o=e.self===void 0?`${n(e.name)}: ${e.total}`:`${n(e.name)}: ${e.total} (self: ${e.self})`;return`<div class="bk-flame-bar" style="width:${r}%;background:${et(t)}" title="${o}" data-has-children="${a}">
|
|
16
16
|
<span class="bk-flame-bar-label${i}">${n(e.name)} (${e.total})</span>
|
|
17
17
|
</div>`}).join(``)}</div>`).join(`
|
|
18
|
-
`)}</div>`}function
|
|
19
|
-
`))}</pre>`}const
|
|
18
|
+
`)}</div>`}function k(e){return String(e??``).replace(/"/g,`\\"`)}function nt(e,t){let r=o(e.value),a=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(e.direction??`TD`))?String(e.direction??`TD`):`TD`}`];for(let e of r?.nodes??[]){let t=i(String(e.id??e.name??`node`)),n=k(e.label??e.name??t);a.push(` ${t}["${n}"]`)}for(let e of r?.edges??[]){let t=i(String(e.from??e.source??`from`)),n=i(String(e.to??e.target??`to`)),r=e.label?`|${k(e.label)}|`:``;a.push(` ${t} -->${r} ${n}`)}return`<pre class="bk-graph mermaid">${n(a.join(`
|
|
19
|
+
`))}</pre>`}const A=`
|
|
20
20
|
.bk-heading {
|
|
21
21
|
margin: 0;
|
|
22
22
|
color: var(--dt-text-primary);
|
|
@@ -31,16 +31,16 @@ function e(e){return e.kind===`result`}function t(e){return e.kind===`error`}fun
|
|
|
31
31
|
.bk-heading--4 { font-size: var(--dt-font-size-xl); }
|
|
32
32
|
.bk-heading--5,
|
|
33
33
|
.bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
|
|
34
|
-
`;function
|
|
35
|
-
${
|
|
34
|
+
`;function rt(e,t){let r=Number(e.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${n(String(e.value??e.title??``))}</h${i}>`}function it(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{key:a(t.key),value:a(t.value)}]}):e&&typeof e==`object`?Object.entries(e).map(([e,t])=>({key:e,value:a(t)})):[]}function at(e,t){return`<dl class="bk-kv">${it(e.value).map(e=>`<div class="bk-kv-entry"><dt class="bk-kv-key">${s(e.key)}</dt><dd class="bk-kv-value">${s(e.value)}</dd></div>`).join(``)}</dl>`}function ot(e){let t=o(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,steps:Array.isArray(e.steps)?e.steps:[],edges:Array.isArray(e.edges)?e.edges:[]}}return{steps:[],edges:[]}}function st(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function j(e,t){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return[``];let r=[],i=``;for(let e of n){let n=i?`${i} ${e}`:e;if(n.length<=t||i.length===0){i=n;continue}if(r.push(i),i=e,r.length===1)break}return i&&r.push(i),r.length>2?r.slice(0,2):(r.length===2&&n.join(` `).length>r[0].length+r[1].length&&(r[1]=`${r[1].slice(0,Math.max(0,t-1))}…`),r)}function ct(e){return e.type===`decision`?{width:112,height:112}:{width:164,height:84}}function lt(e){let t=32;return e.map(e=>{let{width:n,height:r}=ct(e),i={step:e,x:t,y:28,width:n,height:r,centerX:t+n/2,centerY:28+r/2};return t+=n+44,i})}function ut(e){let t=j(e.step.label,e.step.type===`decision`?12:16),r=e.step.description?j(e.step.description,e.step.type===`decision`?12:18).slice(0,1):[],a=e.centerY-(t.length+r.length-1)*18/2,o=[...t.map((t,r)=>`<text class="bk-lifecycle-flow-label" x="${e.centerX}" y="${a+r*18}">${n(t)}</text>`),...r.map((r,i)=>`<text class="bk-lifecycle-flow-description" x="${e.centerX}" y="${a+(t.length+i)*18}">${n(r)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="18" ry="18" />`;e.step.type===`start`||e.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="40" ry="40" />`:e.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${e.centerX},${e.y}`} ${`${e.x+e.width},${e.centerY}`} ${`${e.centerX},${e.y+e.height}`} ${`${e.x},${e.centerY}`}" />`);let c=e.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${e.x+18}" y1="${e.y+18}" x2="${e.x+18}" y2="${e.y+e.height-18}" /><line x1="${e.x+e.width-18}" y1="${e.y+18}" x2="${e.x+e.width-18}" y2="${e.y+e.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${e.step.type??`step`} bk-lifecycle-flow-node--${st(e.step.status)}" id="${i(e.step.id)}">${s}${c}${o}</g>`}function dt(e,t){let r=t.get(e.from),i=t.get(e.to);if(!r||!i)return``;let a=r.x+r.width,o=r.centerY,s=i.x,c=i.centerY,l=Math.round((a+s)/2);return`${`<path class="bk-lifecycle-flow-edge" d="M ${a} ${o} C ${l} ${o} ${l} ${c} ${s} ${c}" marker-end="url(#bk-lifecycle-flow-arrow)" />`}${e.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${n(e.label)}</text>`:``}`}function ft(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}function pt(e,t){let r=ot(e.value),i=Array.isArray(r.steps)?r.steps.filter(e=>e?.id):[];if(i.length===0)return`<div class="bk-lifecycle-flow"><p class="bk-docs-hub-empty">No lifecycle steps available.</p></div>`;let a=lt(i),o=new Map(a.map(e=>[e.step.id,e])),s=ft(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+32);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${n(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${n(r.title??`Lifecycle flow`)}"><defs><marker id="bk-lifecycle-flow-arrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--dt-border-default)" /></marker></defs><g class="bk-lifecycle-flow-edges">${s.map(e=>dt(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>ut(e)).join(``)}</g></svg></div></figure>`}function mt(e,t){return`<ul class="bk-list">${(Array.isArray(e.value)?e.value:[]).map(e=>`<li class="bk-list-item">${s(String(e??``))}</li>`).join(``)}</ul>`}const ht=`
|
|
35
|
+
${A}
|
|
36
36
|
.bk-markdown {
|
|
37
37
|
color: var(--dt-text-primary);
|
|
38
38
|
font-size: var(--dt-font-size-base);
|
|
39
39
|
line-height: 1.7;
|
|
40
40
|
}
|
|
41
|
-
`,
|
|
42
|
-
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(
|
|
43
|
-
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function xt(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function St(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function Ct(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${St(e.trend)}</article>`).join(``)}</div>`}function wt(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function Tt(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 Et(e,t){return`<div class="bk-progress">${Tt(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Dt(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Ot(e,t){return`<pre class="bk-prompt">${n(Dt(e.value))}</pre>`}function kt(e,t){return`<hr class="bk-separator">`}function At(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function jt(e,t){return`<div class="bk-status-board">${At(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 Mt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function j(e){let t=(e??[]).map(e=>{if(Mt(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 Nt(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=j(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}=j(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function Pt(e,t){let{headers:r,keys:i,rows:o}=Nt(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function Ft(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function It(e,t){return`<div class="bk-tags">${Ft(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 Lt(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Rt(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 M(e,t){if(Array.isArray(e)){let r=e.map(e=>M(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 M(r.children??[],i);let a=Object.entries(r).map(([e,t])=>M(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 zt(e,t){return`<div class="bk-tree">${M(o(e.value))}</div>`}const N={"--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)`},P={"--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)`},Bt=`--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(`.`),Vt=`--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(`.`),F={actions:`
|
|
41
|
+
`,gt=/^(#{1,6})\s+(.+)$/,_t=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function vt(e){return e.length?`<p>${e.map(e=>s(e)).join(`<br>`)}</p>`:``}function yt(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=vt(a);e&&(i.push(e),a.length=0)};for(let e of r.split(/\r?\n/)){let t=e.trim();if(t.startsWith("```")){if(!o)l(),o=!0,c=t.slice(3).trim(),s=[];else{let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
|
|
42
|
+
`))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(e);continue}if(!t){l();continue}let r=t.match(gt);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(_t.test(t)){l(),i.push(`<hr>`);continue}a.push(e)}if(l(),o&&s.length>0){let e=c?` class="${n(c)}"`:``;i.push(`<pre class="bk-code"><code${e}>${n(s.join(`
|
|
43
|
+
`))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}function bt(e,t){return`<pre class="bk-mermaid mermaid">${n(String(e.value??``))}</pre>`}function xt(e){if(e==null||e===``)return``;let t=a(e),r=Number(String(e).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(r)?``:r>0?`↑ `:r<0?`↓ `:`→ `}${n(t)}</span>`}function St(e,t){return`<div class="bk-metrics">${f(e).map(e=>`<article class="bk-metric" data-tone="${u(e.status)}"><div class="bk-metric-label">${n(e.label)}</div><div class="bk-metric-value">${n(a(e.value))}</div>${xt(e.trend)}</article>`).join(``)}</div>`}function Ct(e,t){return`<p class="bk-paragraph">${n(String(e.value??e.text??``))}</p>`}function wt(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 Tt(e,t){return`<div class="bk-progress">${wt(e.value).map(e=>{let t=Math.max(1,Number(e.max)||100),r=Math.max(0,Number(e.value)||0),i=Math.round(Math.min(r/t*100,100)),a=u(e.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${n(e.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function Et(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}function Dt(e,t){return`<pre class="bk-prompt">${n(Et(e.value))}</pre>`}function Ot(e,t){return`<hr class="bk-separator">`}function kt(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function At(e,t){return`<div class="bk-status-board">${kt(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 jt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Mt(e){let t=(e??[]).map(e=>{if(jt(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 Nt(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=Mt(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}=Mt(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}function Pt(e,t){let{headers:r,keys:i,rows:o}=Nt(e);return r.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${r.map(e=>`<th>${n(e)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(e=>`<tr>${i.map(t=>`<td>${n(a(e[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function Ft(e){let t=o(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}function It(e,t){return`<div class="bk-tags">${Ft(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 Lt(e,t){return`<div class="bk-text">${s(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}function Rt(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 M(e,t){if(Array.isArray(e)){let r=e.map(e=>M(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 M(r.children??[],i);let a=Object.entries(r).map(([e,t])=>M(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 zt(e,t){return`<div class="bk-tree">${M(o(e.value))}</div>`}const N={"--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)`},P={"--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)`},Bt=`--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(`.`),Vt=`--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(`.`),F={actions:`
|
|
44
44
|
.bk-actions {
|
|
45
45
|
display: flex;
|
|
46
46
|
flex-wrap: wrap;
|
|
@@ -1064,7 +1064,7 @@ ${k}
|
|
|
1064
1064
|
font-size: var(--dt-font-size-sm);
|
|
1065
1065
|
line-height: 1.6;
|
|
1066
1066
|
}
|
|
1067
|
-
`,heading:
|
|
1067
|
+
`,heading:A,kv:`
|
|
1068
1068
|
.bk-kv {
|
|
1069
1069
|
display: grid;
|
|
1070
1070
|
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
@@ -1219,7 +1219,7 @@ ${k}
|
|
|
1219
1219
|
box-shadow: 0 0 0 3px var(--dt-accent-subtle);
|
|
1220
1220
|
transform: translateY(-50%);
|
|
1221
1221
|
}
|
|
1222
|
-
`,markdown:
|
|
1222
|
+
`,markdown:ht,mermaid:`
|
|
1223
1223
|
.bk-mermaid {
|
|
1224
1224
|
margin: 0;
|
|
1225
1225
|
padding: var(--dt-space-4);
|
|
@@ -2116,7 +2116,7 @@ ${e.description?`<span class="bk-approval-option-desc">${n(e.description)}</span
|
|
|
2116
2116
|
${o}
|
|
2117
2117
|
<fieldset class="bk-approval-options">${s}</fieldset>
|
|
2118
2118
|
${c}
|
|
2119
|
-
</div>`}const un={actions:m,annotation:sn,approval:ln,cards:ee,chart:
|
|
2119
|
+
</div>`}const un={actions:m,annotation:sn,approval:ln,cards:ee,chart:te,checklist:Te,code:Ee,comparison:Oe,diagram:Ve,diff:We,"component-detail":Fe,"data-table-schema":Be,"docs-browser":Ke,"docs-hub":Xe,"flame-graph":tt,finding:Qe,graph:nt,heading:rt,kv:at,"lifecycle-flow":pt,list:mt,markdown:yt,mermaid:bt,metrics:St,paragraph:Ct,progress:Tt,prompt:Dt,separator:Ot,"status-board":At,table:Pt,tags:It,text:Lt,timeline:Rt,tree:zt};function dn(e,t,r){let a={...e,value:o(e.value)},s=un[a.type],c=s?s(a,t):pn(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 fn(e,t){return e.map((e,n)=>dn(e,t,n)).join(`
|
|
2120
2120
|
`)}function pn(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${n(e.value)}</p>`;try{return`<pre class="bk-fallback">${n(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${n(String(e.value))}</pre>`}}var mn=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 z(e){return typeof e==`object`&&!!e}function gn(e){return Array.isArray(e)?e.flatMap(e=>!z(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}const _n={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=z(e)&&typeof e.title==`string`?e.title:void 0,r=z(e)?gn(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:hn},vn=[`mcp-app`,`browser`,`export`];function B(e){return typeof e==`object`&&!!e}function yn(e){return B(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function bn(e){return B(e)&&typeof e.key==`string`&&typeof e.label==`string`}function xn(e){return Array.isArray(e)?e.filter(B):[]}function Sn(e,t){if(Array.isArray(e)){let t=e.filter(bn);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}const Cn={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=B(e)?xn(e.rows):[],n=B(e)?Sn(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(B(e)&&Array.isArray(e.stats)){let t=e.stats.filter(yn);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:vn},wn=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function Tn(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function En(e){return Array.isArray(e)?e.flatMap(e=>!V(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Tn(e.changes)}]):[]}function Dn(e){return!V(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!V(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:En(e.hunks)}])}function On(e){return e===`add`?`+`:e===`delete`?`-`:` `}function kn(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${On(e.type)}${e.content}`)]).join(`
|
|
2121
2121
|
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}const An={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=>Dn(e).flatMap(kn),hydration:[],supportedTransports:wn},jn=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Mn(e){return H(e)&&typeof e.type==`string`}function Nn(e){return Array.isArray(e)&&e.every(Mn)}function Pn(e){if(!H(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Nn(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Fn(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 In={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=Pn(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Fn(e));return n},hydration:[],supportedTransports:jn},Ln=[`mcp-app`,`browser`,`export`];function Rn(e){return typeof e==`object`&&!!e}function zn(e){return Rn(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}const U={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=zn(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:Ln};function W(e){return typeof e==`object`&&!!e}function Bn(e){return Array.isArray(e)?e.flatMap(e=>!W(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||W(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}const Vn={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:W(e)&&typeof e.title==`string`?e.title:`Form`,fields:W(e)?Bn(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`]},Hn=[`mcp-app`,`browser`];function G(e){return typeof e==`object`&&!!e}function Un(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!G(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Wn(e){return Array.isArray(e)?e.flatMap(e=>!G(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function Gn(e){return G(e)?{categories:Un(e.categories),items:Wn(e.items)}:{items:[]}}function Kn(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function qn(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Kn)}]}const Jn={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=Gn(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=qn(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=qn(`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(Kn)}),n},hydration:[`picker`],supportedTransports:Hn},Yn=[`mcp-app`,`browser`,`export`];function K(e){return typeof e==`object`&&!!e}function Xn(e){return K(e)&&typeof e.type==`string`}function Zn(e){return Array.isArray(e)&&e.every(Xn)}function Qn(e){return K(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function $n(e){return Array.isArray(e)?e.flatMap(e=>{if(!K(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Zn(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function er(e){return Array.isArray(e)?e.flatMap(e=>K(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function tr(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 nr(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}const rr={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:K(e)&&typeof e.title==`string`?e.title:`Report`,metrics:K(e)&&Array.isArray(e.metrics)?e.metrics.filter(Qn):void 0,sections:K(e)?$n(e.sections):[],tables:K(e)?er(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(...tr(e));for(let e of t.tables??[])n.push(nr(e));return n},hydration:[],supportedTransports:Yn},ir=[`mcp-app`,`browser`];function q(e){return typeof e==`object`&&!!e}function ar(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function or(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=q(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function sr(e){return Array.isArray(e)?e.flatMap(e=>{if(!q(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}const cr={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!q(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=ar(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=or(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(q(a)){let e=sr(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:ir},lr=[`mcp-app`,`browser`,`export`];function J(e){return typeof e==`object`&&!!e}function ur(e){return Array.isArray(e)?e.flatMap(e=>{if(!J(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!J(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function dr(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}const fr={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=J(e)?ur(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:dr(e.items)});return n},hydration:[],supportedTransports:lr},pr=[`mcp-app`,`browser`,`export`];function mr(e){return typeof e==`object`&&!!e}function hr(e){return Array.isArray(e)?e.flatMap(e=>!mr(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:hr(e)}:mr(e)?{entries:hr(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}const Y={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},_r={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[Y,{type:`object`,properties:{title:{type:`string`},entries:Y,events:Y,items:Y},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=gr(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:pr},vr=[`mcp-app`,`browser`,`export`];function X(e){return typeof e==`object`&&!!e}function yr(e){return X(e)&&typeof e.label==`string`}function br(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(yr).map(br):[]}}function xr(e){if(!X(e))return{};let t=e.root;return yr(t)?br(t):X(t)?t:e}const Sr={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:xr(e)}],hydration:[`tree`],supportedTransports:vr},Z=new mn;Z.register(cr),Z.register(_n),Z.register(An),Z.register(In),Z.register(Jn),Z.register(rr),Z.register(_r),Z.register(Sr),Z.register(Cn),Z.register(U),Z.register(Vn),Z.register(fr);let Q=0;function Cr(){return Q=(Q+1)%(2**53-1),`${Date.now().toString(16).padStart(12,`0`).slice(-12)}${Q.toString(16).padStart(4,`0`).slice(-4)}${Array.from({length:8},()=>Math.floor(Math.random()*256).toString(16).padStart(2,`0`)).join(``)}`}function wr(e){return{id:e,version:1,entry:`@aikit/blocks-interactive/dist/islands/${e}.mjs`,selector:`[data-island="${e}"]`,needsData:!0}}function Tr(e,t){let n=new TextEncoder;return n.encode(e).byteLength+t.reduce((e,t)=>e+n.encode(t).byteLength,0)}function Er(e,t){let n=[],r=t.registry??Z,i={colorScheme:e.colorScheme??t.colorScheme??`auto`,transport:t.transport,lang:e.lang,dir:e.dir},a=[...e.blocks??[]],o=[...a],s=[],c=[...e.actions??[]];if(e.template){let t=r.get(e.template);if(t)try{o=t.blocksFromData(e.data,i),o.length===0&&e.data!==void 0&&(n.push({level:`warn`,message:`Template "${e.template}" produced no blocks from provided data`}),o=[{type:`markdown`,value:`> ⚠️ Template \`${e.template}\` received data but produced no content. Verify the data structure matches the template schema.`}]),t.actionsFromData&&(c=[...c,...t.actionsFromData(e.data)]),s=t.hydration.map(e=>wr(e))}catch(t){let r=t instanceof Error?t.message:String(t);n.push({level:`error`,message:`Template ${e.template} failed: ${r}`}),o=a.length===0?U.blocksFromData({code:`TEMPLATE_RENDER_ERROR`,message:`Failed to render template ${e.template}`,details:r},i):[...a]}else n.push({level:`warn`,message:`Template not found: ${e.template}`})}let l=fn(o,i),u=[I(o.map(e=>e.type))],d=t.nonce??Cr(),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:Tr(l,u),exportPolicy:s.length>0?`local-interactive`:`static-only`,diagnostics:n.length>0?n:void 0}}function Dr(e){return e===`up`||e===`down`||e===`neutral`}function $(e){return typeof e==`object`&&!!e}function Or(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`&&Dr(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`?Fr(e.progress):void 0,items:n}]})}}function kr(e){let t=e.type===`progress`&&typeof e.progress==`number`?`${e.progress}%`:void 0;return{label:e.label,value:e.value,trend:e.trend?.value??t,status:e.status}}function Ar(e){return e.type!==`progress`||typeof e.progress!=`number`?null:{label:e.label,value:Fr(e.progress),max:100}}function jr(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 Mr(e){return{title:e.title,description:e.description,badge:e.priority,body:e.tags?.join(`, `),status:e.priority}}function Nr(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 Pr(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=>Pr(e)):[]}:{name:``,total:0,children:[]}}function Fr(e){return Math.max(0,Math.min(100,e))}function Ir(e){let t=Or(e),n=[];t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics.map(kr)});let r=t.metrics.map(Ar).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 Lr(e){let t=jr(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(Mr)})}),n}function Rr(e){let t=Nr(e);return t.length===0?[]:[{type:`cards`,value:t.map((e,t)=>({title:e.label,body:e.id,badge:`#${t+1}`}))}]}function zr(e){return!$(e)||!$(e.profile)?[]:[{type:`flame-graph`,value:Pr(e.profile)}]}const Br={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=>Ir(e),hydration:[],supportedTransports:[`mcp-app`,`browser`]},Vr={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=>Lr(e),hydration:[],supportedTransports:[`browser`]},Hr={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=>Rr(e),hydration:[],supportedTransports:[`browser`]},Ur={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=>zr(e),hydration:[`flame-graph`],supportedTransports:[`browser`]},Wr={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 Gr(){return Wr}function Kr(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function qr(e,t){let n=[`
|
|
2122
2122
|
* {
|
|
@@ -2170,6 +2170,7 @@ body {
|
|
|
2170
2170
|
height: 90vh;
|
|
2171
2171
|
background: var(--dt-glow-primary);
|
|
2172
2172
|
animation: aikit-glow-pulse 8s ease-in-out infinite alternate;
|
|
2173
|
+
transition: background var(--dt-transition-normal);
|
|
2173
2174
|
}
|
|
2174
2175
|
.aikit-glow-secondary {
|
|
2175
2176
|
bottom: -20vh;
|
|
@@ -2178,6 +2179,7 @@ body {
|
|
|
2178
2179
|
height: 60vh;
|
|
2179
2180
|
background: var(--dt-glow-secondary);
|
|
2180
2181
|
animation: aikit-glow-pulse 12s ease-in-out infinite alternate-reverse;
|
|
2182
|
+
transition: background var(--dt-transition-normal);
|
|
2181
2183
|
}
|
|
2182
2184
|
|
|
2183
2185
|
@keyframes aikit-glow-pulse {
|
|
@@ -2279,6 +2281,6 @@ main > * {
|
|
|
2279
2281
|
`),e.mainPadding&&(c+=` --aikit-main-padding: ${e.mainPadding};\n`),e.mainGap&&(c+=` --aikit-main-gap: ${e.mainGap};\n`);let l=``;e.showGlassCss&&(l=Ut);let u=Jr(e.tokenCss??Yt(`light`)),d=Yr(e.headScripts??[],e.nonce),f=e.islands.length>0&&e.payload?` <script type="application/json" id="surface-payload">${Kr(e.payload)}<\/script>`:``,p=$r(e.islands,e.exportPolicy,e.nonce),m=e.showGradientGlow?`
|
|
2280
2282
|
<div class="aikit-glow-primary"></div>
|
|
2281
2283
|
<div class="aikit-glow-secondary"></div>
|
|
2282
|
-
`:``,ee=
|
|
2283
|
-
`);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>`:``,qr(u,[...
|
|
2284
|
+
`:``,ee=Xr(i,e.nonce,a),h=[f,p].filter(Boolean).join(`
|
|
2285
|
+
`),g=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>`:``,qr(u,[...g,l].filter(Boolean)),d,`</head>`,`<body>`,tn({title:e.title,subtitle:e.subtitle,transport:e.transport,actionsHtml:e.headerActionsHtml,showToolbox:e.showToolbox??!0,sharedChromeActions:a===`disabled`?[]:void 0}),ee,m,` <main>${e.html}</main>`,R({generatedAt:o,contentHtml:e.footerContentHtml,showInstallGuide:e.showInstallGuide,installUrl:e.installUrl}),h,`</body>`,`</html>`].filter(Boolean).join(`
|
|
2284
2286
|
`)}export{L as HEADER_CLASS_NAMES,nn as HEADER_CSS,mn as TemplateRegistry,Wt as allCss,Ht as baseCss,f as blockItems,Gr as buildCopyImageExportFallback,R as buildFooter,tn as buildHeader,ei as buildShell,Xr as buildThemeScript,_n as checklistTemplate,I as collectCss,Vt as darkTokenNames,P as darkTokens,Br as dashboardTemplateDefinition,Cn as dataTableTemplate,Z as defaultRegistry,An as diffViewTemplate,In as documentTemplate,U as errorTemplate,n as escapeHtml,Ur as flameGraphTemplateDefinition,Vn as formTemplate,a as formatValue,Jt as generateDarkTokenCss,Yt as generateTokenCss,Ut as glassCss,s as inlineMarkdown,t as isError,e as isResult,Vr as kanbanTemplateDefinition,Hr as listSortTemplateDefinition,Jn as pickerTemplate,dn as renderBlock,fn as renderBlocks,Er as renderSurface,rr as reportTemplate,cr as reviewTemplate,i as sanitizeId,r as sanitizeUrl,fr as statusBoardTemplate,_r as timelineTemplate,Bt as tokenNames,N as tokens,u as toneName,d as toneVar,Sr as treeTemplate,o as tryParseJson};
|