@vpxa/aikit 0.1.56 → 0.1.58
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/cli/dist/commands/init/templates.js +4 -0
- package/packages/present/dist/index.html +15 -15
- package/scaffold/adapters/copilot.mjs +5 -4
- package/scaffold/general/prompts/aikit-ask.prompt.md +0 -8
- package/scaffold/general/prompts/aikit-debug.prompt.md +0 -11
- package/scaffold/general/prompts/aikit-design.prompt.md +0 -8
- package/scaffold/general/prompts/aikit-flow-add.prompt.md +0 -8
- package/scaffold/general/prompts/aikit-flow-create.prompt.md +0 -8
- package/scaffold/general/prompts/aikit-flow-manage.prompt.md +0 -9
- package/scaffold/general/prompts/aikit-implement.prompt.md +0 -10
- package/scaffold/general/prompts/aikit-plan.prompt.md +0 -10
- package/scaffold/general/prompts/aikit-review.prompt.md +0 -8
package/package.json
CHANGED
|
@@ -116,6 +116,10 @@ Load them: \`tool_search_tool_regex({ pattern: "aikit" })\`
|
|
|
116
116
|
| Architecture diagrams | \`c4-architecture\` | When documenting or reviewing architecture — C4 Mermaid diagrams. |
|
|
117
117
|
| Architecture decisions | \`adr-skill\` | When making non-trivial technical decisions — executable ADRs. |
|
|
118
118
|
| Rich presentation | \`present\` | When presenting dashboards, charts, tables, or complex visual content to users. |
|
|
119
|
+
| TypeScript patterns | \`typescript\` | Before TypeScript implementation — type system, compiler config, advanced types. |
|
|
120
|
+
| React patterns | \`react\` | Before React work — component architecture, React 19 APIs, Server Components. |
|
|
121
|
+
| Frontend design | \`frontend-design\` | Before UI/UX work — visual design, typography, color, layout, accessibility. |
|
|
122
|
+
| Multi-agent orchestration | \`multi-agents-development\` | Before delegating to multiple agents — task decomposition, dispatch, review pipelines. |
|
|
119
123
|
|
|
120
124
|
### Tool Categories
|
|
121
125
|
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
--aikit-warning: var(--color-text-warning, var(--warning));
|
|
36
36
|
--aikit-error: var(--color-text-danger, var(--error));
|
|
37
37
|
--aikit-info: var(--color-text-info, var(--accent));
|
|
38
|
-
--aikit-code-bg: var(--
|
|
39
|
-
--aikit-code-fg: var(--
|
|
38
|
+
--aikit-code-bg: var(--code-bg);
|
|
39
|
+
--aikit-code-fg: var(--code-fg);
|
|
40
40
|
--aikit-font-sans: var(--font-sans);
|
|
41
41
|
--aikit-font-mono: var(--font-mono);
|
|
42
42
|
--aikit-radius: var(--border-radius-md, var(--radius));
|
|
@@ -241,7 +241,7 @@
|
|
|
241
241
|
justify-content: space-between;
|
|
242
242
|
align-items: center;
|
|
243
243
|
padding: 6px 12px;
|
|
244
|
-
background:
|
|
244
|
+
background: color-mix(in srgb, var(--fg) 5%, transparent);
|
|
245
245
|
font-size: 0.75rem;
|
|
246
246
|
color: var(--accent-light);
|
|
247
247
|
}
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
cursor: pointer;
|
|
255
255
|
font-size: 0.75rem;
|
|
256
256
|
}
|
|
257
|
-
.block-code .copy-btn:hover { background:
|
|
257
|
+
.block-code .copy-btn:hover { background: color-mix(in srgb, var(--fg) 10%, transparent); }
|
|
258
258
|
.block-code pre { padding: 12px 16px; margin: 0; font-size: 0.85em; overflow-x: auto; }
|
|
259
259
|
|
|
260
260
|
/* Tree view */
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
box-shadow: var(--shadow);
|
|
281
281
|
transition: box-shadow 0.15s;
|
|
282
282
|
}
|
|
283
|
-
.card:hover { box-shadow: 0 4px 12px
|
|
283
|
+
.card:hover { box-shadow: 0 4px 12px color-mix(in srgb, var(--fg) 12%, transparent); }
|
|
284
284
|
.card-title { font-weight: 600; margin-bottom: 6px; }
|
|
285
285
|
.card-body { font-size: 0.9rem; opacity: 0.85; }
|
|
286
286
|
.card-badge {
|
|
@@ -431,10 +431,10 @@
|
|
|
431
431
|
@keyframes spin { to { transform: rotate(360deg); } }
|
|
432
432
|
|
|
433
433
|
/* Display mode toolbar */
|
|
434
|
-
.display-mode-toolbar { position: fixed; bottom: 12px; right: 12px; display: flex; gap: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 4px; box-shadow: 0 2px 8px
|
|
434
|
+
.display-mode-toolbar { position: fixed; bottom: 12px; right: 12px; display: flex; gap: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 4px; box-shadow: 0 2px 8px color-mix(in srgb, var(--fg) 15%, transparent); z-index: 1000; }
|
|
435
435
|
.dm-btn { border: none; background: transparent; color: var(--fg); cursor: pointer; padding: 4px 8px; border-radius: 4px; font-size: 14px; line-height: 1; }
|
|
436
436
|
.dm-btn:hover { background: var(--border); }
|
|
437
|
-
.dm-btn.dm-active { background: var(--accent); color:
|
|
437
|
+
.dm-btn.dm-active { background: var(--accent); color: var(--bg); }
|
|
438
438
|
</style>
|
|
439
439
|
<script type="module" crossorigin>var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),l=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},u=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var l=r(i),u=0,d=l.length,f;u<d;u++)f=l[u],!a.call(e,f)&&f!==o&&t(e,f,{get:(e=>i[e]).bind(null,f),enumerable:!(s=n(i,f))||s.enumerable});return e},d=(e,t,n)=>(u(e,t,`default`),n&&u(n,t,`default`)),f=(n,r,a)=>(a=n==null?{}:e(i(n)),u(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),p=e=>a.call(e,`module.exports`)?e[`module.exports`]:u(t({},`__esModule`,{value:!0}),e);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),Object.freeze({status:`aborted`});function m(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var h=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},g=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},_={};function v(e){return e&&Object.assign(_,e),_}function y(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function b(e,t){return typeof t==`bigint`?t.toString():t}function x(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function S(e){return e==null}function C(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function w(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var T=Symbol(`evaluating`);function E(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==T)return r===void 0&&(r=T,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function D(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function O(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function k(e){return JSON.stringify(e)}function A(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var j=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function M(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var N=x(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function P(e){if(M(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(M(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function F(e){return P(e)?{...e}:Array.isArray(e)?[...e]:e}var I=new Set([`string`,`number`,`symbol`]);function L(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function R(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function z(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function ee(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var te={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function B(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return R(e,O(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return D(this,`shape`,e),e},checks:[]}))}function ne(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return R(e,O(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return D(this,`shape`,r),r},checks:[]}))}function re(e,t){if(!P(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return R(e,O(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return D(this,`shape`,n),n}}))}function ie(e,t){if(!P(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return R(e,O(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return D(this,`shape`,n),n}}))}function ae(e,t){return R(e,O(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return D(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function oe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return R(t,O(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return D(this,`shape`,i),i},checks:[]}))}function se(e,t,n){return R(t,O(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return D(this,`shape`,i),i}}))}function ce(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function le(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function ue(e){return typeof e==`string`?e:e?.message}function de(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=ue(e.inst?._zod.def?.error?.(e))??ue(t?.error?.(e))??ue(n.customError?.(e))??ue(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function fe(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function pe(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var me=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,b,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},he=m(`$ZodError`,me),ge=m(`$ZodError`,me,{Parent:Error});function _e(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ve(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var ye=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new h;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>de(e,a,v())));throw j(t,i?.callee),t}return o.value},be=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>de(e,a,v())));throw j(t,i?.callee),t}return o.value},xe=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new h;return a.issues.length?{success:!1,error:new(e??he)(a.issues.map(e=>de(e,i,v())))}:{success:!0,data:a.value}},Se=xe(ge),Ce=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>de(e,i,v())))}:{success:!0,data:a.value}},we=Ce(ge),Te=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ye(e)(t,n,i)},Ee=e=>(t,n,r)=>ye(e)(t,n,r),De=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return be(e)(t,n,i)},Oe=e=>async(t,n,r)=>be(e)(t,n,r),ke=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return xe(e)(t,n,i)},Ae=e=>(t,n,r)=>xe(e)(t,n,r),je=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Ce(e)(t,n,i)},Me=e=>async(t,n,r)=>Ce(e)(t,n,r),Ne=/^[cC][^\s-]{8,}$/,Pe=/^[0-9a-z]+$/,Fe=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ie=/^[0-9a-vA-V]{20}$/,Le=/^[A-Za-z0-9]{27}$/,Re=/^[a-zA-Z0-9_-]{21}$/,ze=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Be=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ve=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,He=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ue=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function We(){return new RegExp(Ue,`u`)}var Ge=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ke=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,qe=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Je=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ye=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Xe=/^[A-Za-z0-9_-]*$/,Ze=/^\+[1-9]\d{6,14}$/,Qe=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,$e=RegExp(`^${Qe}$`);function et(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function tt(e){return RegExp(`^${et(e)}$`)}function nt(e){let t=et({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Qe}T(?:${r})$`)}var rt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},it=/^-?\d+$/,at=/^-?\d+(?:\.\d+)?$/,ot=/^(?:true|false)$/i,st=/^null$/i,ct=/^undefined$/i,lt=/^[^A-Z]*$/,ut=/^[^a-z]*$/,dt=m(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ft={number:`number`,bigint:`bigint`,object:`date`},pt=m(`$ZodCheckLessThan`,(e,t)=>{dt.init(e,t);let n=ft[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),mt=m(`$ZodCheckGreaterThan`,(e,t)=>{dt.init(e,t);let n=ft[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ht=m(`$ZodCheckMultipleOf`,(e,t)=>{dt.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):w(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),gt=m(`$ZodCheckNumberFormat`,(e,t)=>{dt.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=te[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=it)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),_t=m(`$ZodCheckMaxLength`,(e,t)=>{var n;dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!S(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=fe(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),eee=m(`$ZodCheckMinLength`,(e,t)=>{var n;dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!S(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=fe(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tee=m(`$ZodCheckLengthEquals`,(e,t)=>{var n;dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!S(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=fe(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),vt=m(`$ZodCheckStringFormat`,(e,t)=>{var n,r;dt.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),nee=m(`$ZodCheckRegex`,(e,t)=>{vt.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ree=m(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=lt,vt.init(e,t)}),iee=m(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=ut,vt.init(e,t)}),aee=m(`$ZodCheckIncludes`,(e,t)=>{dt.init(e,t);let n=L(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),oee=m(`$ZodCheckStartsWith`,(e,t)=>{dt.init(e,t);let n=RegExp(`^${L(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),see=m(`$ZodCheckEndsWith`,(e,t)=>{dt.init(e,t);let n=RegExp(`.*${L(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),cee=m(`$ZodCheckOverwrite`,(e,t)=>{dt.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),lee=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
440
440
|
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
@@ -3722,7 +3722,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3722
3722
|
${Ttt}
|
|
3723
3723
|
</iframe>`,`putIntoIFrame`),k9=V((e,t,n,r,i)=>{let a=e.append(`div`);a.attr(`id`,n),r&&a.attr(`style`,r);let o=a.append(`svg`).attr(`id`,t).attr(`width`,`100%`).attr(`xmlns`,_tt);return i&&o.attr(`xmlns:xlink`,i),o.append(`g`),e},`appendDivSvgG`),V(G7,`sandboxedIframe`),Mtt=V((e,t,n,r)=>{e.getElementById(t)?.remove(),e.getElementById(n)?.remove(),e.getElementById(r)?.remove()},`removeExistingElements`),Ntt=V(async function(e,t,n){T9();let r=W7(t);t=r.code;let i=Pu();H.debug(i),t.length>(i?.maxTextSize??ptt)&&(t=mtt);let a=`#`+e,o=`i`+e,s=`#`+o,l=`d`+e,u=`#`+l,d=V(()=>{let e=af(p?s:u).node();e&&`remove`in e&&e.remove()},`removeTempElements`),f=af(`body`),p=i.securityLevel===htt,m=i.securityLevel===gtt,h=i.fontFamily;n===void 0?(Mtt(document,e,l,o),p?(f=af(G7(af(`body`),o).nodes()[0].contentDocument.body),f.node().style.margin=0):f=af(`body`),k9(f,e,l)):(n&&(n.innerHTML=``),p?(f=af(G7(af(n),o).nodes()[0].contentDocument.body),f.node().style.margin=0):f=af(n),k9(f,e,l,`font-family: ${h}`,vtt));let g,_;try{g=await E9.fromText(t,{title:r.title})}catch(e){if(i.suppressErrorRendering)throw d(),e;g=await E9.fromText(`error`),_=e}let v=f.select(u).node(),y=g.type,b=v.firstChild,x=b.firstChild,S=g.renderer.getClasses?.(t,g),C=ktt(i,y,S,a),w=document.createElement(`style`);w.innerHTML=C,b.insertBefore(w,x);try{await g.renderer.draw(t,e,`11.14.0`,g)}catch(n){throw i.suppressErrorRendering?d():Wet.draw(t,e,`11.14.0`),n}let T=f.select(`${u} svg`),E=g.db.getAccTitle?.(),D=g.db.getAccDescription?.();Eet(y,T,E,D),f.select(`[id="${e}"]`).selectAll(`foreignobject > *`).attr(`xmlns`,ytt);let O=f.select(u).node().innerHTML;if(H.debug(`config.arrowMarkerAbsolute`,i.arrowMarkerAbsolute),O=Att(O,p,Eu(i.arrowMarkerAbsolute)),p){let e=f.select(u+` svg`).node();O=jtt(O,e)}else m||(O=na.sanitize(O,{ADD_TAGS:Ett,ADD_ATTR:Dtt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(ctt(),_)throw _;return d(),{diagramType:y,svg:O,bindFunctions:g.db.bindFunctions}},`render`),V(Tet,`initialize`),A9=V((e,t={})=>{let{code:n}=U7(e);return E9.fromText(n,t)},`getDiagramFromText`),V(Eet,`addA11yInfo`),j9=Object.freeze({render:Ntt,parse:wet,getDiagramFromText:A9,initialize:Tet,getConfig:Pu,setConfig:Nu,getSiteConfig:Mu,updateSiteConfig:ule,reset:V(()=>{Iu()},`reset`),globalReset:V(()=>{Iu(Tu)},`globalReset`),defaultConfig:Tu}),qr(Pu().logLevel),Iu(Pu()),Ptt=V((e,t,n)=>{H.warn(e),Qx(e)?(n&&n(e.str,e.hash),t.push({...e,message:e.str,error:e})):(n&&n(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},`handleError`),M9=V(async function(e={querySelector:`.mermaid`}){try{await Ftt(e)}catch(t){if(Qx(t)&&H.error(t.str),z9.parseError&&z9.parseError(t),!e.suppressErrors)throw H.error(`Use the suppressErrors option to suppress these errors`),t}},`run`),Ftt=V(async function({postRenderCallback:e,querySelector:t,nodes:n}={querySelector:`.mermaid`}){let r=j9.getConfig();H.debug(`${e?``:`No `}Callback function found`);let i;if(n)i=n;else if(t)i=document.querySelectorAll(t);else throw Error(`Nodes and querySelector are both undefined`);H.debug(`Found ${i.length} diagrams`),r?.startOnLoad!==void 0&&(H.debug(`Start On Load: `+r?.startOnLoad),j9.updateSiteConfig({startOnLoad:r?.startOnLoad}));let a=new dS.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed),o,s=[];for(let t of Array.from(i)){if(H.info(`Rendering diagram: `+t.id),t.getAttribute(`data-processed`))continue;t.setAttribute(`data-processed`,`true`);let n=`mermaid-${a.next()}`;o=t.innerHTML,o=fEe(dS.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,`<br/>`);let r=dS.detectInit(o);r&&H.debug(`Detected early reinit: `,r);try{let{svg:r,bindFunctions:i}=await R9(n,o,t);t.innerHTML=r,e&&await e(n),i&&i(t)}catch(e){Ptt(e,s,z9.parseError)}}if(s.length>0)throw s[0]},`runThrowsErrors`),N9=V(function(e){j9.initialize(e)},`initialize`),Itt=V(async function(e,t,n){H.warn(`mermaid.init is deprecated. Please use run instead.`),e&&N9(e);let r={postRenderCallback:n,querySelector:`.mermaid`};typeof t==`string`?r.querySelector=t:t&&(t instanceof HTMLElement?r.nodes=[t]:r.nodes=t),await M9(r)},`init`),Ltt=V(async(e,{lazyLoad:t=!0}={})=>{T9(),du(...e),t===!1&&await ott()},`registerExternalDiagrams`),P9=V(function(){if(z9.startOnLoad){let{startOnLoad:e}=j9.getConfig();e&&z9.run().catch(e=>H.error(`Mermaid failed to initialize`,e))}},`contentLoaded`),typeof document<`u`&&window.addEventListener(`load`,P9,!1),Rtt=V(function(e){z9.parseError=e},`setParseErrorHandler`),F9=[],I9=!1,L9=V(async()=>{if(!I9){for(I9=!0;F9.length>0;){let e=F9.shift();if(e)try{await e()}catch(e){H.error(`Error executing queue`,e)}}I9=!1}},`executeQueue`),ztt=V(async(e,t)=>new Promise((n,r)=>{let i=V(()=>new Promise((i,a)=>{j9.parse(e,t).then(e=>{i(e),n(e)},e=>{H.error(`Error parsing`,e),z9.parseError?.(e),a(e),r(e)})}),`performCall`);F9.push(i),L9().catch(r)}),`parse`),R9=V((e,t,n)=>new Promise((r,i)=>{let a=V(()=>new Promise((a,o)=>{j9.render(e,t,n).then(e=>{a(e),r(e)},e=>{H.error(`Error parsing`,e),z9.parseError?.(e),o(e),i(e)})}),`performCall`);F9.push(a),L9().catch(i)}),`render`),z9={startOnLoad:!0,mermaidAPI:j9,parse:ztt,render:R9,init:Itt,run:M9,registerExternalDiagrams:Ltt,registerLayoutLoaders:wW,initialize:N9,parseError:void 0,contentLoaded:P9,setParseErrorHandler:Rtt,detectType:uu,registerIconPacks:TC,getRegisteredDiagramsMetadata:V(()=>Object.keys(lu).map(e=>({id:e})),`getRegisteredDiagramsMetadata`)},Btt=z9}));Vr();function B9(e){if(typeof e==`string`)return Htt(e);if(Array.isArray(e))return e.length===0?V9(`*Empty array*`):typeof e[0]==`object`&&e[0]!==null?U9(e):V9(e.map(e=>`- ${String(e)}`).join(`
|
|
3724
3724
|
`));if(typeof e==`object`&&e){let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)?$tt(t):Array.isArray(t.metrics)?Qtt(t.metrics):W9(t)}return V9(String(e))}function Htt(e){let t=e.trim();if(/^(graph|flowchart|sequenceDiagram|classDiagram|stateDiagram|erDiagram|gantt|pie|gitGraph)\b/i.test(t))return H9(t);if(/^#{1,6}\s|^\s*[-*]\s|\*\*|__|\[.*\]\(|```/.test(t))return V9(t);if((t.startsWith(`{`)||t.startsWith(`[`))&&(t.endsWith(`}`)||t.endsWith(`]`)))try{return B9(JSON.parse(t))}catch{}return V9(t)}function Utt(e,t,n){let r=vr(`div`,`comparison-side ${n}`),i=e&&typeof e==`object`&&!Array.isArray(e)?e:null,a=String(i?.label??i?.title??t),o=Array.isArray(i?.items)?i.items:Array.isArray(e)?e:e==null?[]:[e];r.appendChild(vr(`div`,`comparison-label`,a));let s=vr(`ul`,`comparison-items`);for(let e of o)s.appendChild(vr(`li`,``,br(e)));return r.appendChild(s),r}function Wtt(e){let t=vr(`div`,`actions`);for(let n of e){if(n.type===`select`&&n.options){let e=document.createElement(`select`);e.className=`action-select`;let r=document.createElement(`option`);r.textContent=n.label,r.disabled=!0,r.selected=!0,e.appendChild(r);for(let t of n.options){let n=document.createElement(`option`);typeof t==`string`?(n.value=t,n.textContent=t):(n.value=t.value,n.textContent=t.label),e.appendChild(n)}t.appendChild(e);continue}let e=document.createElement(`button`);e.className=`action-btn ${n.variant??`default`}`,e.textContent=n.label,t.appendChild(e)}return t}function Gtt(e,t){switch(e.type){case`markdown`:return V9(String(e.value??``));case`mermaid`:return H9(String(e.value??``));case`table`:{let t=e.value;if(Array.isArray(t)){if(t.length>0&&Array.isArray(t[0])){let e=t,n=e[0].map(String);return U9(e.slice(1).map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]]))))}return U9(t)}if(t&&typeof t==`object`&&`headers`in t&&`rows`in t){let{headers:e,rows:n}=t;return U9(n.map(t=>Object.fromEntries(e.map((e,n)=>[e,t[n]]))))}return U9([])}case`code`:return Xtt(String(e.value??``),e.language);case`tree`:return W9(e.value);case`cards`:return Ztt(e.value);case`metrics`:return Qtt(e.value);case`graph`:return $tt(e.value);case`chart`:return Foe(e);case`kv`:{let t=e.value;return t&&typeof t==`object`&&!Array.isArray(t)?U9(Object.entries(t).map(([e,t])=>({Key:e,Value:t}))):V9(JSON.stringify(t,null,2))}case`comparison`:{let t=e.value;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t;if(`left`in e||`right`in e){let t=vr(`div`,`block block-comparison`);return t.appendChild(Utt(e.left,`Left`,`comparison-left`)),t.appendChild(Utt(e.right,`Right`,`comparison-right`)),t}if(Array.isArray(e.headers)&&Array.isArray(e.rows)){let t=e.headers;return U9(e.rows.map(e=>Object.fromEntries(t.map((t,n)=>[t,e[n]]))))}if(Array.isArray(e.columns)){let t=e.columns,n=Math.max(...t.map(e=>e.items?.length??0)),r=[];for(let e=0;e<n;e++){let n={};for(let r of t)n[r.name]=r.items?.[e]??``;r.push(n)}return U9(r)}}return V9(JSON.stringify(t,null,2))}case`actions`:{let n=Array.isArray(e.value)?e.value:[],r=t?ent(n,t):Wtt(n);return r.classList.add(`block`,`block-actions`),r}case`timeline`:{let t=e.value;return Array.isArray(t)?U9(t.map(e=>{if(e&&typeof e==`object`){let t=e;return{Status:t.status??t.state??``,Time:t.time??t.date??t.timestamp??``,Description:t.label??t.description??t.title??t.text??``}}return{Status:``,Time:``,Description:String(e)}})):V9(JSON.stringify(t,null,2))}case`heading`:return V9(`## ${String(e.value??``)}`);default:return V9(JSON.stringify(e.value,null,2))}}function Ktt(e,t){let n=Gtt(e,t);return e.title&&n.insertBefore(vr(`div`,`block-title`,e.title),n.firstChild),n}function V9(e){let t=vr(`div`,`block block-markdown`);return t.innerHTML=Aoe(e),t}var qtt=null;function Jtt(){return qtt||=Br(()=>Promise.resolve().then(()=>(Vtt(),vet)).then(e=>(e.default.initialize({startOnLoad:!1,theme:`default`}),e.default)),void 0,import.meta.url),qtt}var Ytt=0;function H9(e){let t=vr(`div`,`block block-mermaid`),n=vr(`pre`,`mermaid-source`,e);t.appendChild(n);let r=`mermaid-${++Ytt}`;return Jtt().then(t=>t.render(r,e)).then(({svg:e})=>{t.innerHTML=e}).catch(()=>{n.classList.add(`mermaid-fallback`)}),t}function U9(e){let t=vr(`div`,`block block-table`);if(e.length===0)return V9(`*Empty table*`);let n=Object.keys(e[0]),r=-1,i=!0,a=[...e],o=``,s=document.createElement(`input`);s.className=`table-filter`,s.placeholder=`Filter...`,s.addEventListener(`input`,()=>{o=s.value.toLowerCase(),p()}),t.appendChild(s);let l=document.createElement(`table`),u=document.createElement(`thead`),d=document.createElement(`tr`);n.forEach((e,t)=>{let n=document.createElement(`th`);n.textContent=e;let a=vr(`span`,`sort-icon`,`⇅`);n.appendChild(a),n.addEventListener(`click`,()=>{r===t?i=!i:(r=t,i=!0),p()}),d.appendChild(n)}),u.appendChild(d),l.appendChild(u);let f=document.createElement(`tbody`);l.appendChild(f),t.appendChild(l);function p(){if(a=[...e],o&&(a=a.filter(e=>n.some(t=>String(e[t]??``).toLowerCase().includes(o)))),r>=0){let e=n[r];a.sort((t,n)=>{let r=String(t[e]??``),a=String(n[e]??``),o=r.localeCompare(a,void 0,{numeric:!0});return i?o:-o})}f.innerHTML=``;for(let e of a){let t=document.createElement(`tr`);for(let r of n){let n=document.createElement(`td`);n.textContent=String(e[r]??``),t.appendChild(n)}f.appendChild(t)}}return p(),t}function Xtt(e,t){let n=vr(`div`,`block block-code`),r=vr(`div`,`code-header`);r.appendChild(vr(`span`,``,t??`code`));let i=document.createElement(`button`);i.className=`copy-btn`,i.textContent=`Copy`,i.addEventListener(`click`,()=>{navigator.clipboard.writeText(e).then(()=>{i.textContent=`Copied!`,setTimeout(()=>{i.textContent=`Copy`},1500)})}),r.appendChild(i),n.appendChild(r);let a=document.createElement(`pre`),o=document.createElement(`code`);return o.textContent=e,a.appendChild(o),n.appendChild(a),n}function W9(e,t=0){let n=vr(`div`,t===0?`block block-tree`:``),r=typeof e.name==`string`?e.name:typeof e.label==`string`?e.label:null,i=Array.isArray(e.children)?e.children:null;if(r&&i){if(i.length===0)return vr(`div`,`tree-leaf`,`📄 ${r}`);let a=vr(`div`,`tree-node`),o=vr(`span`,`tree-toggle`,`▼`),s=vr(`div`,`tree-children`),l=!0;s.style.display=``,o.addEventListener(`click`,()=>{l=!l,o.textContent=l?`▼`:`▶`,s.style.display=l?``:`none`}),a.appendChild(o),a.appendChild(document.createTextNode(` ${r}`));for(let e of i)typeof e==`object`&&e&&!Array.isArray(e)?s.appendChild(W9(e,t+1)):s.appendChild(vr(`div`,`tree-leaf`,`📄 ${br(e)}`));for(let[n,r]of Object.entries(e))if(!(n===`name`||n===`label`||n===`children`))if(typeof r==`object`&&r&&!Array.isArray(r))s.appendChild(W9({[n]:r},t+1));else{let e=vr(`div`,`tree-leaf`);e.innerHTML=`<strong>${yr(n)}:</strong> ${yr(br(r))}`,s.appendChild(e)}return a.appendChild(s),n.appendChild(a),n}if(r)return n.appendChild(vr(`div`,`tree-leaf`,`📄 ${r}`)),n;for(let[r,i]of Object.entries(e))if(typeof i==`object`&&i&&!Array.isArray(i)){let e=vr(`div`,`tree-node`),a=vr(`span`,`tree-toggle`,`▼`),o=W9(i,t+1);o.className=`tree-children`;let s=!0;a.addEventListener(`click`,()=>{s=!s,a.textContent=s?`▼`:`▶`,o.style.display=s?``:`none`}),e.appendChild(a),e.appendChild(document.createTextNode(` ${r}`)),e.appendChild(o),n.appendChild(e)}else{let e=vr(`div`,`tree-leaf`);e.innerHTML=`<strong>${yr(r)}:</strong> ${yr(br(i))}`,n.appendChild(e)}return n}function Ztt(e){let t=vr(`div`,`block block-cards`);for(let n of e){let e=vr(`div`,`card`);if(n.title&&e.appendChild(vr(`div`,`card-title`,String(n.title))),(n.body||n.description)&&e.appendChild(vr(`div`,`card-body`,String(n.body??n.description))),n.badge||n.status){let t=String(n.variant??n.status??`default`).toLowerCase(),r=[`success`,`warning`,`error`].includes(t)?t:``;e.appendChild(vr(`span`,`card-badge ${r}`,String(n.badge??n.status)))}t.appendChild(e)}return t}function Qtt(e){let t=vr(`div`,`block block-metrics`);for(let n of e){let e=vr(`div`,`metric`);e.appendChild(vr(`div`,`metric-value`,String(n.value))),e.appendChild(vr(`div`,`metric-label`,n.label)),t.appendChild(e)}return t}function $tt(e){let t=[`graph LR`],n=new Map;for(let r of e.nodes){let e=String(r.id??r.name??``),i=String(r.label??r.name??e);n.set(e,i),t.push(` ${xr(e)}["${yr(i)}"]`)}for(let n of e.edges){let e=xr(String(n.source??n.from??``)),r=xr(String(n.target??n.to??``)),i=n.label?`|${yr(String(n.label))}|`:``;t.push(` ${e} -->${i} ${r}`)}return H9(t.join(`
|
|
3725
|
-
`))}function ent(e,t){let n=vr(`div`,`actions`);for(let r of e)if(r.type===`select`&&r.options){let e=document.createElement(`select`);e.className=`action-select`;let i=document.createElement(`option`);i.textContent=r.label,i.disabled=!0,i.selected=!0,e.appendChild(i);for(let t of r.options){let n=document.createElement(`option`);typeof t==`string`?(n.value=t,n.textContent=t):(n.value=t.value,n.textContent=t.label),e.appendChild(n)}e.addEventListener(`change`,()=>{t.emitAction(r,e.value)}),n.appendChild(e)}else{let e=document.createElement(`button`);e.className=`action-btn ${r.variant??`default`}`,e.textContent=r.label,e.addEventListener(`click`,()=>t.emitAction(r)),n.appendChild(e)}return n}function tnt(e){return function(t,n){let r=n??t.label;e.updateModelContext({content:[{type:`text`,text:`Latest UI action: ${t.label}${n?` → ${n}`:``}`}],structuredContent:{actionId:t.id,actionType:t.type,label:t.label,value:r,timestamp:new Date().toISOString()}}),e.sendMessage({role:`user`,content:[{type:`text`,text:`User selected: ${t.label}${n?` → ${n}`:``}`}]})}}function nnt(e){return{callTool:(t,n)=>e.callServerTool({name:t,arguments:n}),sendMessage:async t=>{await e.sendMessage({role:`user`,content:[{type:`text`,text:t}]})},updateContext:async t=>{await e.updateModelContext({content:[{type:`text`,text:t}]})}}}var rnt=class{app;currentMode=`inline`;availableModes=[];toolbar=null;constructor(e){this.app=e}apply(e){e.displayMode&&(this.currentMode=e.displayMode),e.availableDisplayModes&&(this.availableModes=e.availableDisplayModes),this.updateToolbar()}async requestMode(e){try{let t=await this.app.requestDisplayMode({mode:e});return this.currentMode=t.mode,document.documentElement.dataset.display=t.mode,this.updateToolbar(),t.mode}catch{return this.currentMode}}updateToolbar(){if(this.availableModes.length<=1){this.toolbar?.remove(),this.toolbar=null;return}this.toolbar||=this.createToolbar(),this.renderButtons()}createToolbar(){let e=document.createElement(`div`);return e.className=`display-mode-toolbar`,document.body.appendChild(e),e}renderButtons(){if(!this.toolbar)return;this.toolbar.innerHTML=``;let e={inline:`▣`,fullscreen:`⛶`,pip:`◱`};for(let t of this.availableModes){let n=document.createElement(`button`);n.className=`dm-btn${t===this.currentMode?` dm-active`:``}`,n.textContent=e[t]??t,n.title=t,n.addEventListener(`click`,()=>this.requestMode(t)),this.toolbar.appendChild(n)}}},int=[[400,`compact`],[800,`comfortable`]],ant=class{root;displayMode=`inline`;sizeClass=`comfortable`;constructor(e){this.root=e??document.documentElement}apply(e){this.applyDisplayMode(e),this.applyContainerDimensions(e),this.applySafeArea(e),this.applyPlatform(e),this.applyDeviceCapabilities(e)}getDisplayMode(){return this.displayMode}getSize(){return this.sizeClass}applyDisplayMode(e){e.displayMode&&(this.displayMode=e.displayMode,this.root.dataset.display=e.displayMode)}applyContainerDimensions(e){let t=e.containerDimensions;if(!t)return;let n=this.root.style,r=`width`in t?t.width:`maxWidth`in t?t.maxWidth:void 0,i=`height`in t?t.height:`maxHeight`in t?t.maxHeight:void 0;r!==void 0&&(n.setProperty(`--aikit-container-w`,`${r}px`),this.sizeClass=this.deriveSizeClass(r),this.root.dataset.size=this.sizeClass,n.setProperty(`--aikit-content-max-width`,this.deriveMaxWidth(r)),n.setProperty(`--aikit-body-pad-x`,this.derivePadX()),n.setProperty(`--aikit-grid-cols`,this.deriveGridCols()),n.setProperty(`--aikit-card-min`,this.deriveCardMin()),n.setProperty(`--aikit-metric-min`,this.deriveMetricMin())),i!==void 0&&(n.setProperty(`--aikit-container-h`,`${i}px`),n.setProperty(`--aikit-body-pad-y`,this.derivePadY()))}applySafeArea(e){let t=e.safeAreaInsets;if(!t)return;let n=this.root.style;n.setProperty(`--aikit-safe-top`,`${t.top}px`),n.setProperty(`--aikit-safe-right`,`${t.right}px`),n.setProperty(`--aikit-safe-bottom`,`${t.bottom}px`),n.setProperty(`--aikit-safe-left`,`${t.left}px`)}applyPlatform(e){e.platform&&(this.root.dataset.platform=e.platform)}applyDeviceCapabilities(e){let t=e.deviceCapabilities;t&&(t.touch!==void 0&&(this.root.dataset.touch=String(t.touch)),t.hover!==void 0&&(this.root.dataset.hover=String(t.hover)))}deriveSizeClass(e){for(let[t,n]of int)if(e<t)return n;return`full`}deriveMaxWidth(e){return this.displayMode===`pip`?`100%`:this.displayMode===`fullscreen`?`none`:e<960?`100%`:`900px`}derivePadX(){return this.sizeClass===`compact`?`8px`:`16px`}derivePadY(){return this.sizeClass===`compact`?`8px`:`16px`}deriveGridCols(){switch(this.sizeClass){case`compact`:return`1`;case`comfortable`:return`2`;case`full`:return`3`}}deriveCardMin(){return this.sizeClass===`compact`?`100%`:`250px`}deriveMetricMin(){return this.sizeClass===`compact`?`100px`:`150px`}},ont=class{templates=new Map;register(e){this.templates.set(e.name,e)}get(e){return this.templates.get(e)}detect(e){let t,n=0;for(let r of this.templates.values()){let i=r.detect(e);i>n&&(n=i,t=r)}return n>0?t:void 0}getAll(){return[...this.templates.values()]}},snt={"--color-background-primary":`--aikit-bg`,"--color-background-secondary":`--aikit-surface`,"--color-background-tertiary":`--aikit-surface2`,"--color-text-primary":`--aikit-text`,"--color-text-secondary":`--aikit-muted`,"--color-border-primary":`--aikit-border`,"--color-ring-primary":`--aikit-accent`,"--color-text-success":`--aikit-success`,"--color-text-danger":`--aikit-error`,"--color-text-warning":`--aikit-warning`,"--color-text-info":`--aikit-info`,"--
|
|
3725
|
+
`))}function ent(e,t){let n=vr(`div`,`actions`);for(let r of e)if(r.type===`select`&&r.options){let e=document.createElement(`select`);e.className=`action-select`;let i=document.createElement(`option`);i.textContent=r.label,i.disabled=!0,i.selected=!0,e.appendChild(i);for(let t of r.options){let n=document.createElement(`option`);typeof t==`string`?(n.value=t,n.textContent=t):(n.value=t.value,n.textContent=t.label),e.appendChild(n)}e.addEventListener(`change`,()=>{t.emitAction(r,e.value)}),n.appendChild(e)}else{let e=document.createElement(`button`);e.className=`action-btn ${r.variant??`default`}`,e.textContent=r.label,e.addEventListener(`click`,()=>t.emitAction(r)),n.appendChild(e)}return n}function tnt(e){return function(t,n){let r=n??t.label;e.updateModelContext({content:[{type:`text`,text:`Latest UI action: ${t.label}${n?` → ${n}`:``}`}],structuredContent:{actionId:t.id,actionType:t.type,label:t.label,value:r,timestamp:new Date().toISOString()}}),e.sendMessage({role:`user`,content:[{type:`text`,text:`User selected: ${t.label}${n?` → ${n}`:``}`}]})}}function nnt(e){return{callTool:(t,n)=>e.callServerTool({name:t,arguments:n}),sendMessage:async t=>{await e.sendMessage({role:`user`,content:[{type:`text`,text:t}]})},updateContext:async t=>{await e.updateModelContext({content:[{type:`text`,text:t}]})}}}var rnt=class{app;currentMode=`inline`;availableModes=[];toolbar=null;constructor(e){this.app=e}apply(e){e.displayMode&&(this.currentMode=e.displayMode),e.availableDisplayModes&&(this.availableModes=e.availableDisplayModes),this.updateToolbar()}async requestMode(e){try{let t=await this.app.requestDisplayMode({mode:e});return this.currentMode=t.mode,document.documentElement.dataset.display=t.mode,this.updateToolbar(),t.mode}catch{return this.currentMode}}updateToolbar(){if(this.availableModes.length<=1){this.toolbar?.remove(),this.toolbar=null;return}this.toolbar||=this.createToolbar(),this.renderButtons()}createToolbar(){let e=document.createElement(`div`);return e.className=`display-mode-toolbar`,document.body.appendChild(e),e}renderButtons(){if(!this.toolbar)return;this.toolbar.innerHTML=``;let e={inline:`▣`,fullscreen:`⛶`,pip:`◱`};for(let t of this.availableModes){let n=document.createElement(`button`);n.className=`dm-btn${t===this.currentMode?` dm-active`:``}`,n.textContent=e[t]??t,n.title=t,n.addEventListener(`click`,()=>this.requestMode(t)),this.toolbar.appendChild(n)}}},int=[[400,`compact`],[800,`comfortable`]],ant=class{root;displayMode=`inline`;sizeClass=`comfortable`;constructor(e){this.root=e??document.documentElement}apply(e){this.applyDisplayMode(e),this.applyContainerDimensions(e),this.applySafeArea(e),this.applyPlatform(e),this.applyDeviceCapabilities(e)}getDisplayMode(){return this.displayMode}getSize(){return this.sizeClass}applyDisplayMode(e){e.displayMode&&(this.displayMode=e.displayMode,this.root.dataset.display=e.displayMode)}applyContainerDimensions(e){let t=e.containerDimensions;if(!t)return;let n=this.root.style,r=`width`in t?t.width:`maxWidth`in t?t.maxWidth:void 0,i=`height`in t?t.height:`maxHeight`in t?t.maxHeight:void 0;r!==void 0&&(n.setProperty(`--aikit-container-w`,`${r}px`),this.sizeClass=this.deriveSizeClass(r),this.root.dataset.size=this.sizeClass,n.setProperty(`--aikit-content-max-width`,this.deriveMaxWidth(r)),n.setProperty(`--aikit-body-pad-x`,this.derivePadX()),n.setProperty(`--aikit-grid-cols`,this.deriveGridCols()),n.setProperty(`--aikit-card-min`,this.deriveCardMin()),n.setProperty(`--aikit-metric-min`,this.deriveMetricMin())),i!==void 0&&(n.setProperty(`--aikit-container-h`,`${i}px`),n.setProperty(`--aikit-body-pad-y`,this.derivePadY()))}applySafeArea(e){let t=e.safeAreaInsets;if(!t)return;let n=this.root.style;n.setProperty(`--aikit-safe-top`,`${t.top}px`),n.setProperty(`--aikit-safe-right`,`${t.right}px`),n.setProperty(`--aikit-safe-bottom`,`${t.bottom}px`),n.setProperty(`--aikit-safe-left`,`${t.left}px`)}applyPlatform(e){e.platform&&(this.root.dataset.platform=e.platform)}applyDeviceCapabilities(e){let t=e.deviceCapabilities;t&&(t.touch!==void 0&&(this.root.dataset.touch=String(t.touch)),t.hover!==void 0&&(this.root.dataset.hover=String(t.hover)))}deriveSizeClass(e){for(let[t,n]of int)if(e<t)return n;return`full`}deriveMaxWidth(e){return this.displayMode===`pip`?`100%`:this.displayMode===`fullscreen`?`none`:e<960?`100%`:`900px`}derivePadX(){return this.sizeClass===`compact`?`8px`:`16px`}derivePadY(){return this.sizeClass===`compact`?`8px`:`16px`}deriveGridCols(){switch(this.sizeClass){case`compact`:return`1`;case`comfortable`:return`2`;case`full`:return`3`}}deriveCardMin(){return this.sizeClass===`compact`?`100%`:`250px`}deriveMetricMin(){return this.sizeClass===`compact`?`100px`:`150px`}},ont=class{templates=new Map;register(e){this.templates.set(e.name,e)}get(e){return this.templates.get(e)}detect(e){let t,n=0;for(let r of this.templates.values()){let i=r.detect(e);i>n&&(n=i,t=r)}return n>0?t:void 0}getAll(){return[...this.templates.values()]}},snt={"--color-background-primary":`--aikit-bg`,"--color-background-secondary":`--aikit-surface`,"--color-background-tertiary":`--aikit-surface2`,"--color-text-primary":`--aikit-text`,"--color-text-secondary":`--aikit-muted`,"--color-border-primary":`--aikit-border`,"--color-ring-primary":`--aikit-accent`,"--color-text-success":`--aikit-success`,"--color-text-danger":`--aikit-error`,"--color-text-warning":`--aikit-warning`,"--color-text-info":`--aikit-info`,"--font-sans":`--aikit-font-sans`,"--font-mono":`--aikit-font-mono`,"--border-radius-md":`--aikit-radius`,"--shadow-sm":`--aikit-shadow`},cnt={"--aikit-bg":`--bg`,"--aikit-text":`--fg`,"--aikit-surface":`--surface`,"--aikit-border":`--border`,"--aikit-accent":`--accent`,"--aikit-success":`--success`,"--aikit-warning":`--warning`,"--aikit-error":`--error`,"--aikit-font-sans":`--font-sans`,"--aikit-font-mono":`--font-mono`,"--aikit-radius":`--radius`,"--aikit-shadow":`--shadow`},lnt=class{root;constructor(e){this.root=e??document.documentElement}apply(e){e.theme&&Eoe(e.theme),e.styles?.variables&&(Doe(e.styles.variables),this.mapTokens(e.styles.variables)),e.styles?.css?.fonts&&this.injectFonts(e.styles.css.fonts)}getTheme(){return Toe()}mapTokens(e){let t=this.root.style;for(let[n,r]of Object.entries(snt)){let i=e[n];if(i){t.setProperty(r,i);let e=cnt[r];e&&t.setProperty(e,i)}}this.getTheme()===`dark`?(t.setProperty(`--code-bg`,e[`--color-background-tertiary`]??`#0f0f1a`),t.setProperty(`--code-fg`,`#cdd6f4`)):(t.setProperty(`--code-bg`,`#f0f0f5`),t.setProperty(`--code-fg`,`#1a1a2e`)),t.setProperty(`--aikit-code-bg`,t.getPropertyValue(`--code-bg`)),t.setProperty(`--aikit-code-fg`,t.getPropertyValue(`--code-fg`));let n=e[`--color-ring-primary`];n&&(t.setProperty(`--aikit-accent-light`,n),t.setProperty(`--accent-light`,n),t.setProperty(`--aikit-hover-bg`,`color-mix(in srgb, ${n} 10%, transparent)`))}injectFonts(e){let t=`aikit-host-fonts`;if(document.getElementById(t))return;let n=document.createElement(`style`);n.id=t,n.textContent=e,document.head.appendChild(n)}},unt=`
|
|
3726
3726
|
.tpl-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
|
|
3727
3727
|
.db-card { min-height: 136px; padding: 14px; border: 1px solid var(--aikit-border, #3c3c3c);
|
|
3728
3728
|
border-left-width: 4px; border-radius: var(--aikit-radius, 10px); background: var(--aikit-surface, #252526);
|
|
@@ -3765,7 +3765,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3765
3765
|
color: var(--aikit-muted, #858585); cursor: pointer; user-select: none; white-space: nowrap; }
|
|
3766
3766
|
.dt-table th:hover { color: var(--aikit-text, #ccc); }
|
|
3767
3767
|
.dt-table td { padding: 7px 12px; border-bottom: 1px solid var(--aikit-border, #3c3c3c); color: var(--aikit-text, #ccc); }
|
|
3768
|
-
.dt-table tr:hover td { background:
|
|
3768
|
+
.dt-table tr:hover td { background: color-mix(in srgb, var(--aikit-text, #ccc) 3%, transparent); }
|
|
3769
3769
|
.sort-icon { margin-left: 4px; font-size: 10px; opacity: 0.4; }
|
|
3770
3770
|
`,pnt={name:`data-table`,label:`Data Table`,detect(e){if(typeof e!=`object`||!e||Array.isArray(e))return 0;let t=e;return t.columns&&t.rows&&Array.isArray(t.columns)&&Array.isArray(t.rows)?.9:0},render(e,t,n){let r=t,i=vr(`div`,`block tpl-data-table`);if(r.stats?.length){let e=vr(`div`,`dt-stats`);for(let t of r.stats){let n=vr(`div`,`dt-stat`),r=vr(`div`,`dt-stat-value`,String(t.value));t.color&&(r.style.color=t.color),n.appendChild(r),n.appendChild(vr(`div`,`dt-stat-label`,t.label)),e.appendChild(n)}i.appendChild(e)}let a=vr(`div`,`dt-filter-bar`),o=document.createElement(`input`);o.className=`dt-search`,o.placeholder=`Search...`,a.appendChild(o);let s=vr(`span`,`dt-count`,`${r.rows.length} rows`);a.appendChild(s);let l=document.createElement(`button`);l.className=`action-btn default dt-export`,l.textContent=`Export`,l.addEventListener(`click`,()=>{n.emitAction({type:`button`,id:`export`,label:`Export`},JSON.stringify(g))}),a.appendChild(l),i.appendChild(a);let u=document.createElement(`table`);u.className=`dt-table`;let d=document.createElement(`thead`),f=document.createElement(`tr`),p=``,m=!0;for(let e of r.columns){let t=document.createElement(`th`);t.textContent=e.label;let n=vr(`span`,`sort-icon`,`⇅`);t.appendChild(n),t.addEventListener(`click`,()=>{p===e.key?m=!m:(p=e.key,m=!0),_()}),f.appendChild(t)}d.appendChild(f),u.appendChild(d);let h=document.createElement(`tbody`);u.appendChild(h),i.appendChild(u);let g=[...r.rows];o.addEventListener(`input`,()=>_());function _(){let e=o.value.toLowerCase();g=r.rows.filter(t=>e?r.columns.some(n=>String(t[n.key]??``).toLowerCase().includes(e)):!0),p&&g.sort((e,t)=>{let n=String(e[p]??``),r=String(t[p]??``),i=n.localeCompare(r,void 0,{numeric:!0});return m?i:-i}),h.innerHTML=``;for(let e of g){let t=document.createElement(`tr`);for(let n of r.columns){let r=document.createElement(`td`);r.textContent=String(e[n.key]??``),t.appendChild(r)}h.appendChild(t)}s.textContent=`${g.length} rows`}_(),_r(`tpl-data-table`,fnt),e.appendChild(i)},styles(){return fnt}},mnt=`
|
|
3771
3771
|
.tpl-diff-view { display: grid; gap: 14px; }
|
|
@@ -3814,11 +3814,11 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3814
3814
|
.fg-bar { height: 22px; border-radius: 3px; display: flex; align-items: center;
|
|
3815
3815
|
padding: 0 6px; min-width: 24px; transition: filter 0.1s; }
|
|
3816
3816
|
.fg-bar:hover { filter: brightness(1.2); }
|
|
3817
|
-
.fg-bar-label { font-size: 11px; color: #
|
|
3817
|
+
.fg-bar-label { font-size: 11px; color: var(--aikit-bg, #fff); white-space: nowrap; overflow: hidden;
|
|
3818
3818
|
text-overflow: ellipsis; font-weight: 500; }
|
|
3819
3819
|
.fg-info { font-size: 12px; color: var(--aikit-muted, #858585); padding: 8px 0;
|
|
3820
3820
|
border-top: 1px solid var(--aikit-border, #3c3c3c); margin-top: 8px; }
|
|
3821
|
-
`;function vnt(e){return{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=>vnt(e)):void 0}}var ynt={name:`flame-graph`,label:`Flame Graph`,detect(e){if(typeof e!=`object`||!e||Array.isArray(e))return 0;let t=e.profile;return t&&typeof t==`object`&&t.children?.9:0},render(e,t,n){let r=t,i=vr(`div`,`block tpl-flame-graph`),a=vnt(r.profile),o=a,s=[a],l=vr(`div`,`fg-breadcrumb`);i.appendChild(l);let u=vr(`div`,`fg-canvas`);i.appendChild(u);let d=vr(`div`,`fg-info`);i.appendChild(d);function f(){l.innerHTML=``;for(let e=0;e<s.length;e++){let t=s[e],n=document.createElement(`button`);n.className=`fg-crumb`,n.textContent=t.name,n.addEventListener(`click`,()=>{s.splice(e+1),o=t,f()}),l.appendChild(n),e<s.length-1&&l.appendChild(vr(`span`,`fg-sep`,`›`))}u.innerHTML=``,p(u,o,0,o.total),d.textContent=`${o.name} — total: ${o.total}${o.self==null?``:`, self: ${o.self}`}`}function p(e,t,r,i){let a=vr(`div`,`fg-row`);a.style.paddingLeft=`${r*2}px`;let l=vr(`div`,`fg-bar`),u=Math.max(2,t.total/i*100);l.style.width=`${u}%`,l.style.background=m(r),l.title=`${t.name}: ${t.total}${t.self==null?``:` (self: ${t.self})`}`;let h=vr(`span`,`fg-bar-label`,`${t.name} (${t.total})`);if(l.appendChild(h),t.children?.length&&(l.style.cursor=`pointer`,l.addEventListener(`click`,()=>{o=t,s.push(t),f(),n.emitAction({type:`button`,id:`zoom`,label:`Zoom`},JSON.stringify({name:t.name,total:t.total}))})),l.addEventListener(`mouseenter`,()=>{d.textContent=`${t.name} — total: ${t.total}${t.self==null?``:`, self: ${t.self}`}`}),a.appendChild(l),e.appendChild(a),t.children)for(let n of t.children)p(e,n,r+1,i)}function m(e){let t=[
|
|
3821
|
+
`;function vnt(e){return{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=>vnt(e)):void 0}}var ynt={name:`flame-graph`,label:`Flame Graph`,detect(e){if(typeof e!=`object`||!e||Array.isArray(e))return 0;let t=e.profile;return t&&typeof t==`object`&&t.children?.9:0},render(e,t,n){let r=t,i=vr(`div`,`block tpl-flame-graph`),a=vnt(r.profile),o=a,s=[a],l=vr(`div`,`fg-breadcrumb`);i.appendChild(l);let u=vr(`div`,`fg-canvas`);i.appendChild(u);let d=vr(`div`,`fg-info`);i.appendChild(d);function f(){l.innerHTML=``;for(let e=0;e<s.length;e++){let t=s[e],n=document.createElement(`button`);n.className=`fg-crumb`,n.textContent=t.name,n.addEventListener(`click`,()=>{s.splice(e+1),o=t,f()}),l.appendChild(n),e<s.length-1&&l.appendChild(vr(`span`,`fg-sep`,`›`))}u.innerHTML=``,p(u,o,0,o.total),d.textContent=`${o.name} — total: ${o.total}${o.self==null?``:`, self: ${o.self}`}`}function p(e,t,r,i){let a=vr(`div`,`fg-row`);a.style.paddingLeft=`${r*2}px`;let l=vr(`div`,`fg-bar`),u=Math.max(2,t.total/i*100);l.style.width=`${u}%`,l.style.background=m(r),l.title=`${t.name}: ${t.total}${t.self==null?``:` (self: ${t.self})`}`;let h=vr(`span`,`fg-bar-label`,`${t.name} (${t.total})`);if(l.appendChild(h),t.children?.length&&(l.style.cursor=`pointer`,l.addEventListener(`click`,()=>{o=t,s.push(t),f(),n.emitAction({type:`button`,id:`zoom`,label:`Zoom`},JSON.stringify({name:t.name,total:t.total}))})),l.addEventListener(`mouseenter`,()=>{d.textContent=`${t.name} — total: ${t.total}${t.self==null?``:`, self: ${t.self}`}`}),a.appendChild(l),e.appendChild(a),t.children)for(let n of t.children)p(e,n,r+1,i)}function m(e){let t=getComputedStyle(document.documentElement),n=[t.getPropertyValue(`--chart-5`).trim()||`#e24d28`,t.getPropertyValue(`--chart-9`).trim()||`#e8602a`,t.getPropertyValue(`--chart-4`).trim()||`#edad2a`,t.getPropertyValue(`--chart-1`).trim()||`#f5c842`,t.getPropertyValue(`--chart-3`).trim()||`#fce94f`,t.getPropertyValue(`--chart-6`).trim()||`#c4a000`,t.getPropertyValue(`--chart-7`).trim()||`#e07028`,t.getPropertyValue(`--chart-8`).trim()||`#d45500`];return n[e%n.length]}f(),_r(`tpl-flame-graph`,_nt),e.appendChild(i)},styles(){return _nt}},bnt=`
|
|
3822
3822
|
.tpl-form { display: grid; grid-template-columns: 1fr 280px; gap: 20px; }
|
|
3823
3823
|
@media (max-width: 640px) { .tpl-form { grid-template-columns: 1fr; } }
|
|
3824
3824
|
.fm-fields { display: flex; flex-direction: column; gap: 14px; }
|
|
@@ -3872,7 +3872,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3872
3872
|
border-radius: 6px; cursor: grab; transition: all 0.15s; }
|
|
3873
3873
|
.sort-item:hover { border-color: var(--aikit-accent, #0078d4); }
|
|
3874
3874
|
.sort-item.dragging { opacity: 0.4; }
|
|
3875
|
-
.sort-item.drag-over { border-color: var(--aikit-accent, #0078d4); background:
|
|
3875
|
+
.sort-item.drag-over { border-color: var(--aikit-accent, #0078d4); background: color-mix(in srgb, var(--aikit-accent, #0078d4) 10%, transparent); }
|
|
3876
3876
|
.drag-handle { font-size: 18px; color: var(--aikit-muted, #858585); cursor: grab; user-select: none; }
|
|
3877
3877
|
.sort-label { flex: 1; color: var(--aikit-text, #ccc); }
|
|
3878
3878
|
.sort-pos { font-size: 12px; color: var(--aikit-muted, #858585); font-variant-numeric: tabular-nums; }
|
|
@@ -3881,7 +3881,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3881
3881
|
border-radius: 8px; margin-bottom: 10px; overflow-x: auto; }
|
|
3882
3882
|
.pk-tab { padding: 6px 14px; border: none; background: transparent; color: var(--aikit-muted, #858585);
|
|
3883
3883
|
border-radius: 6px; cursor: pointer; font-size: 12px; white-space: nowrap; }
|
|
3884
|
-
.pk-tab.active { background: var(--aikit-accent, #0078d4); color: #
|
|
3884
|
+
.pk-tab.active { background: var(--aikit-accent, #0078d4); color: var(--aikit-bg, #1a1a2e); }
|
|
3885
3885
|
.pk-search { width: 100%; padding: 8px 12px; margin-bottom: 8px;
|
|
3886
3886
|
background: var(--aikit-surface, #252526); border: 1px solid var(--aikit-border, #3c3c3c);
|
|
3887
3887
|
border-radius: 6px; color: var(--aikit-text, #ccc); font-size: 13px; outline: none; box-sizing: border-box; }
|
|
@@ -3890,12 +3890,12 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3890
3890
|
.pk-list { max-height: 320px; overflow-y: auto; }
|
|
3891
3891
|
.pk-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px;
|
|
3892
3892
|
border-bottom: 1px solid var(--aikit-border, #3c3c3c); }
|
|
3893
|
-
.pk-item:hover { background:
|
|
3893
|
+
.pk-item:hover { background: color-mix(in srgb, var(--aikit-text, #ccc) 3%, transparent); }
|
|
3894
3894
|
.pk-item input[type=checkbox] { accent-color: var(--aikit-accent, #0078d4); }
|
|
3895
3895
|
.pk-item-label { flex: 1; color: var(--aikit-text, #ccc); font-size: 13px; }
|
|
3896
3896
|
.pk-item-status { font-size: 11px; padding: 2px 8px; border-radius: 10px;
|
|
3897
3897
|
background: var(--aikit-surface2, #2d2d30); color: var(--aikit-muted, #858585); }
|
|
3898
|
-
.pk-item-status.success { background:
|
|
3898
|
+
.pk-item-status.success { background: color-mix(in srgb, var(--aikit-success, #4ec9b0) 15%, transparent); color: var(--aikit-success, #4ec9b0); }
|
|
3899
3899
|
.pk-tags { display: flex; gap: 4px; }
|
|
3900
3900
|
.pk-tag { font-size: 10px; padding: 1px 6px; border-radius: 4px;
|
|
3901
3901
|
background: var(--aikit-surface2, #2d2d30); color: var(--aikit-muted, #858585); }
|
|
@@ -184,13 +184,14 @@ ${FLOWS_SECTION}
|
|
|
184
184
|
// ─── Prompt file generator ────────────────────────────────────────────────
|
|
185
185
|
|
|
186
186
|
function generatePrompt(_name, def) {
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
// NOTE: Do NOT emit a `tools:` field in prompt files.
|
|
188
|
+
// Prompt `tools:` is an exclusive allowlist in VS Code — it replaces the
|
|
189
|
+
// agent's tools entirely. Since prompts only list aikit/* MCP tools (which
|
|
190
|
+
// are all deferred), the API rejects with "All tools cannot be deferred."
|
|
191
|
+
// Omitting `tools:` lets the prompt inherit the full tool set from `agent:`.
|
|
189
192
|
return `---
|
|
190
193
|
description: "${def.description}"
|
|
191
194
|
agent: "${def.agent}"
|
|
192
|
-
tools:
|
|
193
|
-
${toolsYaml}
|
|
194
195
|
---
|
|
195
196
|
|
|
196
197
|
${def.content}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Quick research question — find answer using AI Kit + web search"
|
|
3
3
|
agent: "Researcher-Alpha"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/web_search
|
|
7
|
-
- aikit/web_fetch
|
|
8
|
-
- aikit/compact
|
|
9
|
-
- aikit/file_summary
|
|
10
|
-
- aikit/remember
|
|
11
|
-
- aikit/present
|
|
12
4
|
---
|
|
13
5
|
|
|
14
6
|
## Quick Research
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Systematic error diagnosis: reproduce → trace → diagnose → fix → verify"
|
|
3
3
|
agent: "Debugger"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/symbol
|
|
7
|
-
- aikit/trace
|
|
8
|
-
- aikit/blast_radius
|
|
9
|
-
- aikit/check
|
|
10
|
-
- aikit/test_run
|
|
11
|
-
- aikit/parse_output
|
|
12
|
-
- aikit/compact
|
|
13
|
-
- aikit/remember
|
|
14
|
-
- aikit/present
|
|
15
4
|
---
|
|
16
5
|
|
|
17
6
|
## Debug Workflow
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Collaborative design session — explore ideas, refine requirements, produce a design spec"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/scope_map
|
|
7
|
-
- aikit/file_summary
|
|
8
|
-
- aikit/compact
|
|
9
|
-
- aikit/remember
|
|
10
|
-
- aikit/forge_classify
|
|
11
|
-
- aikit/present
|
|
12
4
|
---
|
|
13
5
|
|
|
14
6
|
## Design Session
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Install a new flow from a git URL or local path — with interactive error recovery"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/flow_add
|
|
6
|
-
- aikit/flow_list
|
|
7
|
-
- aikit/flow_info
|
|
8
|
-
- aikit/search
|
|
9
|
-
- aikit/compact
|
|
10
|
-
- aikit/file_summary
|
|
11
|
-
- aikit/present
|
|
12
4
|
---
|
|
13
5
|
|
|
14
6
|
## Flow Installation Assistant
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Create a new flow from scratch or migrate an existing workflow to aikit format"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/flow_add
|
|
6
|
-
- aikit/flow_list
|
|
7
|
-
- aikit/flow_info
|
|
8
|
-
- aikit/search
|
|
9
|
-
- aikit/compact
|
|
10
|
-
- aikit/file_summary
|
|
11
|
-
- aikit/present
|
|
12
4
|
---
|
|
13
5
|
|
|
14
6
|
## Flow Creation Assistant
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "List, inspect, update, and remove installed flows"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/flow_list
|
|
6
|
-
- aikit/flow_info
|
|
7
|
-
- aikit/flow_status
|
|
8
|
-
- aikit/flow_update
|
|
9
|
-
- aikit/flow_remove
|
|
10
|
-
- aikit/flow_start
|
|
11
|
-
- aikit/flow_reset
|
|
12
|
-
- aikit/present
|
|
13
4
|
---
|
|
14
5
|
|
|
15
6
|
## Flow Management
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Full lifecycle implementation: plan → build → review → commit"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/scope_map
|
|
7
|
-
- aikit/forge_ground
|
|
8
|
-
- aikit/check
|
|
9
|
-
- aikit/test_run
|
|
10
|
-
- aikit/blast_radius
|
|
11
|
-
- aikit/remember
|
|
12
|
-
- aikit/audit
|
|
13
|
-
- aikit/present
|
|
14
4
|
---
|
|
15
5
|
|
|
16
6
|
## Implementation Pipeline
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Create a detailed TDD implementation plan without executing it"
|
|
3
3
|
agent: "Planner"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/scope_map
|
|
7
|
-
- aikit/forge_ground
|
|
8
|
-
- aikit/forge_classify
|
|
9
|
-
- aikit/file_summary
|
|
10
|
-
- aikit/analyze_structure
|
|
11
|
-
- aikit/analyze_dependencies
|
|
12
|
-
- aikit/remember
|
|
13
|
-
- aikit/present
|
|
14
4
|
---
|
|
15
5
|
|
|
16
6
|
## Planning Workflow
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Dual-model code + architecture review pipeline"
|
|
3
3
|
agent: "Orchestrator"
|
|
4
|
-
tools:
|
|
5
|
-
- aikit/search
|
|
6
|
-
- aikit/blast_radius
|
|
7
|
-
- aikit/check
|
|
8
|
-
- aikit/test_run
|
|
9
|
-
- aikit/analyze_dependencies
|
|
10
|
-
- aikit/remember
|
|
11
|
-
- aikit/present
|
|
12
4
|
---
|
|
13
5
|
|
|
14
6
|
## Review Pipeline
|