@vpxa/aikit 0.1.273 → 0.1.275
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 +7 -1
- package/packages/cli/dist/index.js +14 -14
- package/packages/cli/dist/{init-DCs4TWh6.js → init-B3a2fygD.js} +1 -1
- package/packages/cli/dist/scaffold-BNPHP-QC.js +2 -0
- package/packages/cli/dist/{templates-C92mODRl.js → templates-CDa0UuoE.js} +19 -19
- package/packages/core/dist/index.d.ts +45 -17
- package/packages/core/dist/index.js +1 -1
- package/packages/flows/dist/index.d.ts +23 -2
- package/packages/flows/dist/index.js +1 -1
- package/packages/server/dist/bin.js +6 -6
- package/packages/server/dist/config-DZ-6Zy94.js +2 -0
- package/packages/server/dist/config-DxWyWSb9.js +1 -0
- package/packages/server/dist/curated-manager-C5uOPept.js +7 -0
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/{promotion-BNEScZVD.js → promotion-D9anNXv8.js} +1 -1
- package/packages/server/dist/{routes-CR3fI-HJ.js → routes-1wkXLxXe.js} +1 -1
- package/packages/server/dist/{routes-Afg7J7xK.js → routes-KC-D2U8n.js} +1 -1
- package/packages/server/dist/{server-4h0Cclv3.js → server-CkCRBlz4.js} +93 -93
- package/packages/server/dist/{server-DIz2FGOX.js → server-DlE6A6sd.js} +93 -93
- package/packages/server/dist/{version-check-gazMo-D4.js → version-check-CgfflkJX.js} +1 -1
- package/packages/server/dist/{version-check-BgHzxxCW.js → version-check-ruLtfyDd.js} +1 -1
- package/packages/server/viewers/canvas.html +2 -1
- package/packages/server/viewers/task-plan-static.html +2 -1
- package/packages/tools/dist/index.d.ts +5 -5
- package/packages/tools/dist/index.js +72 -72
- package/scaffold/dist/adapters/copilot.mjs +19 -19
- package/scaffold/dist/definitions/hooks.mjs +1 -1
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/session-handoff.mjs +2 -732
- package/packages/cli/dist/scaffold-BnhmnBfn.js +0 -2
- package/packages/server/dist/config-CZuVxRpX.js +0 -1
- package/packages/server/dist/config-WpN5CWM7.js +0 -2
- package/packages/server/dist/curated-manager-CfwN96rp.js +0 -7
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{existsSync as e,readFileSync as t}from"node:fs";import{dirname as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{createLogger as a}from"../../core/dist/index.js";import{homedir as o}from"node:os";import{execFile as s}from"node:child_process";const c=a(`server`);function l(){let e=r(n(i(import.meta.url)),`..`,`..`,`..`,`package.json`);try{return JSON.parse(t(e,`utf-8`)).version??`0.0.0`}catch{return`0.0.0`}}function u(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t>0?1:-1}return 0}function d(){let e=l();fetch(`https://registry.npmjs.org/@vpxa/aikit/latest`,{signal:AbortSignal.timeout(5e3)}).then(e=>{if(e.ok)return e.json()}).then(t=>{if(!t||typeof t!=`object`)return;let n=t.version;n&&u(e,n)<0&&c.warn(`Update available`,{currentVersion:e,latestVersion:n,updateCommand:`aikit upgrade`})}).catch(()=>{})}function f(){try{let n=r(o(),`.copilot`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}function p(){try{let n=r(process.cwd(),`.github`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}let m=`idle`,h=null;function g(){return{state:m,error:h}}function _(){try{let t=l(),a=f(),o=p();if(!(a!=null&&a!==t)&&!(o!=null&&o!==t)||m===`pending`||m===`success`)return;m=`pending`,h=null,c.info(`Scaffold version mismatch — auto-upgrading`,{serverVersion:t,userScaffoldVersion:a,workspaceScaffoldVersion:o});let u=n(i(import.meta.url)),d=[r(u,`..`,`..`,`..`,`bin`,`aikit.mjs`),r(u,`..`,`bin`,`aikit.mjs`),...process.argv[1]?[r(n(process.argv[1]),`aikit.mjs`)]:[]],g=d.find(t=>e(t));if(!g){m=`failed`,h=`aikit CLI binary not found. Tried: ${d.join(`, `)}`,c.warn(`Cannot auto-upgrade: aikit CLI binary not found`,{candidates:d,platform:process.platform});return}s(process.execPath,[g,`upgrade`],{timeout:3e4,windowsHide:!0},(e,
|
|
2
|
+
import{existsSync as e,readFileSync as t}from"node:fs";import{dirname as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{createLogger as a}from"../../core/dist/index.js";import{homedir as o}from"node:os";import{execFile as s}from"node:child_process";const c=a(`server`);function l(){let e=r(n(i(import.meta.url)),`..`,`..`,`..`,`package.json`);try{return JSON.parse(t(e,`utf-8`)).version??`0.0.0`}catch{return`0.0.0`}}function u(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t>0?1:-1}return 0}function d(){let e=l();fetch(`https://registry.npmjs.org/@vpxa/aikit/latest`,{signal:AbortSignal.timeout(5e3)}).then(e=>{if(e.ok)return e.json()}).then(t=>{if(!t||typeof t!=`object`)return;let n=t.version;n&&u(e,n)<0&&c.warn(`Update available`,{currentVersion:e,latestVersion:n,updateCommand:`aikit upgrade`})}).catch(()=>{})}function f(){try{let n=r(o(),`.copilot`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}function p(){try{let n=r(process.cwd(),`.github`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}let m=`idle`,h=null;function g(){return{state:m,error:h}}function _(){try{let t=l(),a=f(),o=p();if(!(a!=null&&a!==t)&&!(o!=null&&o!==t)||m===`pending`||m===`success`)return;m=`pending`,h=null,c.info(`Scaffold version mismatch — auto-upgrading`,{serverVersion:t,userScaffoldVersion:a,workspaceScaffoldVersion:o});let u=n(i(import.meta.url)),d=[r(u,`..`,`..`,`..`,`bin`,`aikit.mjs`),r(u,`..`,`bin`,`aikit.mjs`),...process.argv[1]?[r(n(process.argv[1]),`aikit.mjs`)]:[]],g=d.find(t=>e(t));if(!g){m=`failed`,h=`aikit CLI binary not found. Tried: ${d.join(`, `)}`,c.warn(`Cannot auto-upgrade: aikit CLI binary not found`,{candidates:d,platform:process.platform});return}s(process.execPath,[g,`upgrade`],{timeout:3e4,windowsHide:!0},(e,n,r)=>{e?(m=`failed`,h=e.message,c.warn(`Auto-upgrade failed`,{error:e.message,stderr:r?.slice(0,500),binPath:g,platform:process.platform})):(m=`success`,h=null,c.info(`Auto-upgrade completed to version ${t}`))}).unref()}catch(e){m=`failed`,h=e instanceof Error?e.message:String(e),c.warn(`Auto-upgrade check failed`,{error:h})}}export{_ as autoUpgradeScaffold,d as checkForUpdates,l as getCurrentVersion,g as getUpgradeState};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as e,readFileSync as t}from"node:fs";import{dirname as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{createLogger as a}from"../../core/dist/index.js";import{execFile as o}from"node:child_process";import{homedir as s}from"node:os";const c=a(`server`);function l(){let e=r(n(i(import.meta.url)),`..`,`..`,`..`,`package.json`);try{return JSON.parse(t(e,`utf-8`)).version??`0.0.0`}catch{return`0.0.0`}}function u(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t>0?1:-1}return 0}function d(){let e=l();fetch(`https://registry.npmjs.org/@vpxa/aikit/latest`,{signal:AbortSignal.timeout(5e3)}).then(e=>{if(e.ok)return e.json()}).then(t=>{if(!t||typeof t!=`object`)return;let n=t.version;n&&u(e,n)<0&&c.warn(`Update available`,{currentVersion:e,latestVersion:n,updateCommand:`aikit upgrade`})}).catch(()=>{})}function f(){try{let n=r(s(),`.copilot`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}function p(){try{let n=r(process.cwd(),`.github`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}let m=`idle`,h=null;function g(){return{state:m,error:h}}function _(){try{let t=l(),a=f(),s=p();if(!(a!=null&&a!==t)&&!(s!=null&&s!==t)||m===`pending`||m===`success`)return;m=`pending`,h=null,c.info(`Scaffold version mismatch — auto-upgrading`,{serverVersion:t,userScaffoldVersion:a,workspaceScaffoldVersion:s});let u=n(i(import.meta.url)),d=[r(u,`..`,`..`,`..`,`bin`,`aikit.mjs`),r(u,`..`,`bin`,`aikit.mjs`),...process.argv[1]?[r(n(process.argv[1]),`aikit.mjs`)]:[]],g=d.find(t=>e(t));if(!g){m=`failed`,h=`aikit CLI binary not found. Tried: ${d.join(`, `)}`,c.warn(`Cannot auto-upgrade: aikit CLI binary not found`,{candidates:d,platform:process.platform});return}o(process.execPath,[g,`upgrade`],{timeout:3e4,windowsHide:!0},(e,
|
|
1
|
+
import{existsSync as e,readFileSync as t}from"node:fs";import{dirname as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{createLogger as a}from"../../core/dist/index.js";import{execFile as o}from"node:child_process";import{homedir as s}from"node:os";const c=a(`server`);function l(){let e=r(n(i(import.meta.url)),`..`,`..`,`..`,`package.json`);try{return JSON.parse(t(e,`utf-8`)).version??`0.0.0`}catch{return`0.0.0`}}function u(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t>0?1:-1}return 0}function d(){let e=l();fetch(`https://registry.npmjs.org/@vpxa/aikit/latest`,{signal:AbortSignal.timeout(5e3)}).then(e=>{if(e.ok)return e.json()}).then(t=>{if(!t||typeof t!=`object`)return;let n=t.version;n&&u(e,n)<0&&c.warn(`Update available`,{currentVersion:e,latestVersion:n,updateCommand:`aikit upgrade`})}).catch(()=>{})}function f(){try{let n=r(s(),`.copilot`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}function p(){try{let n=r(process.cwd(),`.github`,`.aikit-scaffold.json`);return e(n)?JSON.parse(t(n,`utf-8`)).version??null:null}catch{return null}}let m=`idle`,h=null;function g(){return{state:m,error:h}}function _(){try{let t=l(),a=f(),s=p();if(!(a!=null&&a!==t)&&!(s!=null&&s!==t)||m===`pending`||m===`success`)return;m=`pending`,h=null,c.info(`Scaffold version mismatch — auto-upgrading`,{serverVersion:t,userScaffoldVersion:a,workspaceScaffoldVersion:s});let u=n(i(import.meta.url)),d=[r(u,`..`,`..`,`..`,`bin`,`aikit.mjs`),r(u,`..`,`bin`,`aikit.mjs`),...process.argv[1]?[r(n(process.argv[1]),`aikit.mjs`)]:[]],g=d.find(t=>e(t));if(!g){m=`failed`,h=`aikit CLI binary not found. Tried: ${d.join(`, `)}`,c.warn(`Cannot auto-upgrade: aikit CLI binary not found`,{candidates:d,platform:process.platform});return}o(process.execPath,[g,`upgrade`],{timeout:3e4,windowsHide:!0},(e,n,r)=>{e?(m=`failed`,h=e.message,c.warn(`Auto-upgrade failed`,{error:e.message,stderr:r?.slice(0,500),binPath:g,platform:process.platform})):(m=`success`,h=null,c.info(`Auto-upgrade completed to version ${t}`))}).unref()}catch(e){m=`failed`,h=e instanceof Error?e.message:String(e),c.warn(`Auto-upgrade check failed`,{error:h})}}export{_ as autoUpgradeScaffold,d as checkForUpdates,l as getCurrentVersion,g as getUpgradeState};
|
|
@@ -1523,7 +1523,8 @@ ${Uh}
|
|
|
1523
1523
|
`}));function Fg(e,t){let n={...e,value:Km(e.value)},r=Ane[n.type],i=r?r(n,t):kne(n);return n.title&&![`heading`,`finding`].includes(n.type)?`<section class="bk-section bk-section--${Hm(n.type)}"><h3 class="bk-section-title">${Hm(n.title)}</h3>${i}</section>`:i}function Ig(e,t){return e.map(e=>Fg(e,t)).join(`
|
|
1524
1524
|
`)}function kne(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${Hm(e.value)}</p>`;try{return`<pre class="bk-fallback">${Hm(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${Hm(String(e.value))}</pre>`}}var Ane,Lg=o((()=>{eh(),Zee(),yh(),xh(),Ch(),Th(),Dh(),kh(),Nh(),Fh(),Lh(),zh(),Hh(),Wh(),Kh(),eg(),ng(),og(),cg(),fg(),mg(),gg(),yg(),Sg(),mne(),kg(),_ne(),bne(),Cne(),Ene(),Qm(),Ane={actions:Yee,cards:Xee,chart:Qee,checklist:Ste,code:Cte,comparison:Tte,diff:Rte,"component-detail":Mte,"data-table-schema":Lte,"docs-browser":Bte,"docs-hub":Wte,finding:Kte,graph:qte,heading:Jte,kv:Xte,"lifecycle-flow":ine,list:ane,markdown:sne,mermaid:cne,metrics:ug,paragraph:lne,progress:dne,prompt:fne,separator:bg,"status-board":wg,table:Dg,tags:gne,text:vne,timeline:xne,tree:wne}})),jne,Mne=o((()=>{jne=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()]}}}));function Rg(e){return typeof e==`object`&&!!e}function Nne(e){return Array.isArray(e)?e.flatMap(e=>!Rg(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var Pne,zg,Bg=o((()=>{Pne=[`mcp-app`,`browser`],zg={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=Rg(e)&&typeof e.title==`string`?e.title:void 0,r=Rg(e)?Nne(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Pne}}));function Vg(e){return typeof e==`object`&&!!e}function Fne(e){return Vg(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Hg(e){return Vg(e)&&typeof e.key==`string`&&typeof e.label==`string`}function Ine(e){return Array.isArray(e)?e.filter(Vg):[]}function Ug(e,t){if(Array.isArray(e)){let t=e.filter(Hg);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Wg,Gg,Kg=o((()=>{Wg=[`mcp-app`,`browser`,`export`],Gg={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=Vg(e)?Ine(e.rows):[],n=Vg(e)?Ug(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(Vg(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Fne);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:Wg}}));function qg(e){return typeof e==`object`&&!!e}function Lne(e){return Array.isArray(e)?e.flatMap(e=>!qg(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function Jg(e){return Array.isArray(e)?e.flatMap(e=>!qg(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Lne(e.changes)}]):[]}function Rne(e){return!qg(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!qg(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:Jg(e.hunks)}])}function zne(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Yg(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${zne(e.type)}${e.content}`)]).join(`
|
|
1525
1525
|
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Xg,Bne,Vne=o((()=>{Xg=[`mcp-app`,`browser`,`export`],Bne={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=>Rne(e).flatMap(Yg),hydration:[],supportedTransports:Xg}}));function Zg(e){return typeof e==`object`&&!!e}function Hne(e){return Zg(e)&&typeof e.type==`string`}function Une(e){return Array.isArray(e)&&e.every(Hne)}function Qg(e){if(!Zg(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!Zg(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Une(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Wne(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)}var $g,e_,Gne=o((()=>{$g=[`mcp-app`,`browser`,`export`],e_={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=Qg(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Wne(e));return n},hydration:[],supportedTransports:$g}}));function t_(e){return typeof e==`object`&&!!e}function n_(e){return t_(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`}}var r_,i_,a_=o((()=>{r_=[`mcp-app`,`browser`,`export`],i_={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=n_(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:r_}}));function o_(e){return typeof e==`object`&&!!e}function Kne(e){return Array.isArray(e)?e.flatMap(e=>!o_(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`||o_(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}var s_,qne=o((()=>{s_={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:o_(e)&&typeof e.title==`string`?e.title:`Form`,fields:o_(e)?Kne(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`]}}));function c_(e){return typeof e==`object`&&!!e}function Jne(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!c_(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Yne(e){return Array.isArray(e)?e.flatMap(e=>!c_(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 Xne(e){return c_(e)?{categories:Jne(e.categories),items:Yne(e.items)}:{items:[]}}function Zne(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Qne(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Zne)}]}var $ne,l_,ere=o((()=>{$ne=[`mcp-app`,`browser`],l_={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=Xne(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=Qne(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Qne(`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(Zne)}),n},hydration:[`picker`],supportedTransports:$ne}}));function u_(e){return typeof e==`object`&&!!e}function tre(e){return u_(e)&&typeof e.type==`string`}function nre(e){return Array.isArray(e)&&e.every(tre)}function rre(e){return u_(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function d_(e){return Array.isArray(e)?e.flatMap(e=>{if(!u_(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||nre(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function f_(e){return Array.isArray(e)?e.flatMap(e=>u_(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 p_(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 ire(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}var are,m_,ore=o((()=>{are=[`mcp-app`,`browser`,`export`],m_={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:u_(e)&&typeof e.title==`string`?e.title:`Report`,metrics:u_(e)&&Array.isArray(e.metrics)?e.metrics.filter(rre):void 0,sections:u_(e)?d_(e.sections):[],tables:u_(e)?f_(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(...p_(e));for(let e of t.tables??[])n.push(ire(e));return n},hydration:[],supportedTransports:are}}));function h_(e){return typeof e==`object`&&!!e}function sre(e){return Array.isArray(e)?e.flatMap(e=>{if(!h_(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!h_(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 cre(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var lre,ure,dre=o((()=>{lre=[`mcp-app`,`browser`,`export`],ure={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=h_(e)?sre(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:cre(e.items)});return n},hydration:[],supportedTransports:lre}}));function fre(e){return typeof e==`object`&&!!e}function pre(e){return Array.isArray(e)?e.flatMap(e=>!fre(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 g_(e){return Array.isArray(e)?{entries:pre(e)}:fre(e)?{entries:pre(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var __,v_,mre,hre=o((()=>{__=[`mcp-app`,`browser`,`export`],v_={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},mre={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[v_,{type:`object`,properties:{title:{type:`string`},entries:v_,events:v_,items:v_},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=g_(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:__}}));function y_(e){return typeof e==`object`&&!!e}function gre(e){return y_(e)&&typeof e.label==`string`}function b_(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(gre).map(b_):[]}}function x_(e){if(!y_(e))return{};let t=e.root;return gre(t)?b_(t):y_(t)?t:e}var S_,C_,w_=o((()=>{S_=[`mcp-app`,`browser`,`export`],C_={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:x_(e)}],hydration:[`tree`],supportedTransports:S_}})),T_,E_=o((()=>{Mne(),Bg(),Kg(),Vne(),Gne(),a_(),qne(),ere(),ore(),dre(),hre(),w_(),T_=new jne,T_.register(zg),T_.register(Bne),T_.register(e_),T_.register(l_),T_.register(m_),T_.register(mre),T_.register(C_),T_.register(Gg),T_.register(i_),T_.register(s_),T_.register(ure)})),D_=o((()=>{Pg(),Lg(),E_()})),_re=o((()=>{Pg()})),vre=o((()=>{Pg(),Qm(),Lg(),D_(),_re(),Mne(),E_()}));function yre(e){return e.replace(/`/g,"\\`")}function bre(e){return Cre[e?.split(`.`).pop()?.toLowerCase()??``]??`text`}function xre(e){let t=[e.file?`- File: \`${yre(e.file)}${e.line?`:${e.line}`:``}\``:null,e.learnsConcept?`- Concept: ${e.learnsConcept}`:null,e.duration?`- Duration: ${e.duration}`:null].filter(e=>!!e);return t.length>0?t.join(`
|
|
1526
|
-
`):null}function Sre(e){let t=[],n=xre(e),r=e.explanation??e.description;return n&&t.push({type:`markdown`,value:n}),r&&t.push({type:`markdown`,value:r}),e.code&&t.push({type:`code`,language:bre(e.file),value:e.code}),t}var Cre,wre=o((()=>{Cre={cjs:`js`,css:`css`,go:`go`,html:`html`,java:`java`,js:`js`,json:`json`,jsx:`jsx`,md:`md`,mjs:`js`,py:`python`,rs:`rust`,sh:`bash`,sql:`sql`,ts:`ts`,tsx:`tsx`,yml:`yaml`,yaml:`yaml`}})),Tre=c({TourViewer:()=>j_});function O_(e){if(e.getElementById(P_))return;let t=e.createElement(`style`);t.id=P_,t.textContent=Dne(),e.head.appendChild(t)}function k_(e,t){let n=new Set(t.map(e=>e.target)),r=e.filter(e=>!n.has(e.id));r.length===0&&e.length>0&&r.push(e[0]);let i=new Map,a=new Map;t.forEach(e=>{let t=a.get(e.source)||[];t.push(e.target),a.set(e.source,t)});let o=r.map(e=>({id:e.id,level:0})),s=new Set;for(;o.length>0;){let{id:e,level:t}=o.shift();s.has(e)||(s.add(e),i.set(e,t),(a.get(e)||[]).forEach(e=>{s.has(e)||o.push({id:e,level:t+1})}))}e.forEach(e=>{i.has(e.id)||i.set(e.id,i.size>0?Math.max(...i.values())+1:0)});let c=new Map;i.forEach((e,t)=>{let n=c.get(e)||[];n.push(t),c.set(e,n)});let l=new Map;return c.forEach((e,t)=>{let n=-(e.length*220+(e.length-1)*60)/2;e.forEach((e,r)=>{l.set(e,{x:n+r*280,y:t*180})})}),l}function Ere({file:e}){let t=e.split(`.`).pop()?.toLowerCase()||``,n={width:14,height:14,flexShrink:0,opacity:.7};switch(t){case`ts`:case`tsx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3178c6`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`TS`})]});case`js`:case`jsx`:case`mjs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#f7df1e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#000`,fontWeight:`700`,children:`JS`})]});case`json`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.2`,children:[(0,N_.jsx)(`path`,{d:`M4 2c-1.5 0-2 1-2 2v2c0 1-0.5 1-1 1 0.5 0 1 0 1 1v2c0 1 0.5 2 2 2`}),(0,N_.jsx)(`path`,{d:`M10 2c1.5 0 2 1 2 2v2c0 1 0.5 1 1 1-0.5 0-1 0-1 1v2c0 1-0.5 2-2 2`})]});case`css`:case`scss`:case`less`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#264de4`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`CSS`})]});case`html`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#e34c26`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`H`})]});case`py`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3776ab`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#ffd43b`,fontWeight:`700`,children:`Py`})]});case`go`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#00add8`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Go`})]});case`rs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#ce412b`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Rs`})]});case`md`:case`mdx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`3`,width:`12`,height:`8`,rx:`1`}),(0,N_.jsx)(`path`,{d:`M3 9V5l2 2 2-2v4M10 7.5l1.5-1.5M10 7.5l-1.5-1.5M10 7.5V5`})]});case`yaml`:case`yml`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#cb171e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`5`,fill:`#fff`,fontWeight:`700`,children:`YML`})]});default:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#6b7a90`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`path`,{d:`M4 1h4l3 3v9H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z`}),(0,N_.jsx)(`path`,{d:`M8 1v3h3`})]})}}function A_({data:e}){let t=e;return(0,N_.jsxs)(`div`,{onClick:t.onClick,style:{background:t.active?`var(--accent)`:`var(--card)`,border:`2px solid ${t.active?`var(--primary)`:`var(--border)`}`,borderRadius:8,padding:`10px 14px`,width:220,cursor:`pointer`,transition:`all 0.2s`,color:`var(--card-foreground)`},children:[(0,N_.jsx)(_p,{type:`target`,position:wl.Top,style:{opacity:0}}),(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,N_.jsx)(`span`,{style:{width:22,height:22,borderRadius:`50%`,background:t.active?`var(--primary)`:`var(--muted)`,color:t.active?`var(--primary-foreground)`:`var(--muted-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`11px`,fontWeight:700,flexShrink:0},children:t.step.stepNumber}),(0,N_.jsx)(`span`,{style:{fontWeight:600,fontSize:`12px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.step.title})]}),(0,N_.jsxs)(`div`,{style:{fontSize:`10px`,opacity:.7,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`flex`,alignItems:`center`,gap:4,paddingLeft:30},children:[(0,N_.jsx)(Ere,{file:t.step.file}),t.step.file]}),(0,N_.jsx)(_p,{type:`source`,position:wl.Bottom,style:{opacity:0}})]})}function Dre({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),[s,c]=(0,M_.useState)(e.steps?.[0]||null);(0,M_.useEffect)(()=>{O_(document)},[]);let l=(0,M_.useCallback)(t=>{if(!e.steps?.length)return;let r=k_(e.steps,e.dependencies||[]),i=e.steps.map(e=>({id:e.id,type:`step`,position:r.get(e.id)||{x:0,y:0},data:{step:e,active:e.id===t,onClick:()=>c(e)}})),o=(e.dependencies||[]).map((e,t)=>({id:`e${t}`,source:e.source,target:e.target,animated:!0,markerEnd:{type:Cl.ArrowClosed,color:`var(--muted-foreground)`},style:{stroke:`var(--primary)`,strokeWidth:1.5}}));n(i),a(o)},[e]);(0,M_.useEffect)(()=>{l(s?.id||null)},[e,s]);let u=s?e.steps.findIndex(e=>e.id===s.id):-1,d=u>0,f=u<e.steps.length-1,p=s?Ig(Sre(s),{mode:`standalone`}):``;return(0,N_.jsxs)(wm,{variant:`full`,children:[(0,N_.jsx)(Om,{title:e.title||`Code Tour`,subtitle:e.description,showThemeToggle:!0}),(0,N_.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,minHeight:0,height:`100%`,overflow:`hidden`},children:[(0,N_.jsx)(`div`,{style:{flex:1,position:`relative`},children:(0,N_.jsxs)(Jp,{nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:F_,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,N_.jsx)(Qp,{color:`var(--muted)`,gap:20,size:1.5}),(0,N_.jsx)(em,{}),(0,N_.jsx)(um,{maskColor:`rgba(0,0,0,0.7)`})]})}),s&&(0,N_.jsxs)(`div`,{style:{padding:`16px 20px`,borderTop:`1px solid var(--border)`,background:`var(--card)`,maxHeight:`35%`,overflow:`auto`,color:`var(--card-foreground)`},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,N_.jsx)(`span`,{style:{width:24,height:24,borderRadius:`50%`,background:`var(--primary)`,color:`var(--primary-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`12px`,fontWeight:700},children:s.stepNumber}),(0,N_.jsx)(`h2`,{style:{fontSize:`14px`,margin:0},children:s.title})]}),(0,N_.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,N_.jsx)(`button`,{disabled:!d,onClick:()=>d&&c(e.steps[u-1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:d?`var(--muted)`:`var(--background)`,color:d?`var(--foreground)`:`var(--muted-foreground)`,cursor:d?`pointer`:`default`},children:`← Prev`}),(0,N_.jsx)(`button`,{disabled:!f,onClick:()=>f&&c(e.steps[u+1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:f?`var(--muted)`:`var(--background)`,color:f?`var(--foreground)`:`var(--muted-foreground)`,cursor:f?`pointer`:`default`},children:`Next →`})]})]}),p?(0,N_.jsx)(`div`,{style:{display:`grid`,gap:12},dangerouslySetInnerHTML:{__html:p}}):null]})]}),(0,N_.jsx)(jm,{})]})}function j_({data:e}){return(0,N_.jsx)(bm,{children:(0,N_.jsx)(lf,{children:(0,N_.jsx)(Dre,{data:e})})})}var M_,N_,P_,F_,Ore=o((()=>{vre(),M_=u(h(),1),pm(),mm(),Sm(),Tm(),km(),Mm(),wre(),gm(),N_=x(),P_=`aikit-tour-block-styles`,F_={step:A_}}));function I_(e){switch(e){case`loop-back`:return`var(--pf-edge-loop-back)`;case`exception`:return`var(--pf-edge-exception)`;default:return`var(--pf-edge-standard)`}}function L_(e){return{type:Cl.ArrowClosed,color:I_(e)}}function R_(e){let{id:t,markerEnd:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,label:l,variant:u,selected:d}=e,[f,p,m]=u===`standard`?_c({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,borderRadius:20,offset:18}):uc({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,curvature:u===`loop-back`?.42:.28});return(0,z_.jsxs)(z_.Fragment,{children:[(0,z_.jsx)(Hd,{id:t,path:f,markerEnd:n,style:{stroke:I_(u),strokeWidth:d?3:2,strokeDasharray:u===`standard`?void 0:`8 6`}}),l?(0,z_.jsx)(ff,{children:(0,z_.jsx)(`div`,{className:`process-flow-edge__label process-flow-edge__label--${u}`,style:{transform:`translate(-50%, -50%) translate(${p}px, ${m}px)`},children:l})}):null]})}function kre(e){return(0,z_.jsx)(R_,{...e,variant:`standard`})}function Are(e){return(0,z_.jsx)(R_,{...e,variant:`loop-back`})}function jre(e){return(0,z_.jsx)(R_,{...e,variant:`exception`})}function Mre(e=`standard`){return{type:e,animated:e!==`standard`,markerEnd:L_(e),data:{variant:e}}}var z_,B_,Nre=o((()=>{pm(),z_=x(),B_={standard:kre,"loop-back":Are,exception:jre}}));function Pre({data:e,forcedType:t}){let n=Object.entries(e.metadata??{}),r=t===`decision`;return(0,U_.jsxs)(`div`,{className:`process-flow-node process-flow-node--${t}`,"data-node-type":t,children:[(0,U_.jsx)(_p,{className:`process-flow-node__handle`,type:`target`,position:wl.Top}),(0,U_.jsxs)(`div`,{className:`process-flow-node__frame`,children:[(0,U_.jsx)(`div`,{className:`process-flow-node__surface`}),(0,U_.jsxs)(`div`,{className:`process-flow-node__content`,children:[(0,U_.jsxs)(`div`,{className:`process-flow-node__eyebrow`,children:[(0,U_.jsx)(`span`,{className:`process-flow-node__icon`,"aria-hidden":`true`,children:K_[t]}),(0,U_.jsx)(`span`,{children:W_[t]})]}),(0,U_.jsx)(`div`,{className:`process-flow-node__label`,children:e.label}),e.description?(0,U_.jsx)(`p`,{className:`process-flow-node__description`,children:e.description}):null,n.length>0?(0,U_.jsx)(`dl`,{className:`process-flow-node__metadata`,children:n.map(([e,t])=>(0,U_.jsxs)(`div`,{className:`process-flow-node__metadata-row`,children:[(0,U_.jsx)(`dt`,{children:e}),(0,U_.jsx)(`dd`,{children:t})]},e))}):null,r?(0,U_.jsx)(`div`,{className:`process-flow-node__decision-shadow`,"aria-hidden":`true`}):null]})]}),(0,U_.jsx)(_p,{className:`process-flow-node__handle`,type:`source`,position:wl.Bottom})]})}function V_(e){return function(t){let n={...t.data,type:e};return(0,U_.jsx)(Pre,{...t,data:n,forcedType:e})}}function H_(e){return G_[e]}function Fre(e){let t=new Set;return e.filter(e=>t.has(e.type)?!1:(t.add(e.type),!0)).map(e=>({label:W_[e.type],color:G_[e.type],icon:K_[e.type]}))}var U_,W_,G_,K_,Ire,Lre=o((()=>{pm(),U_=x(),W_={"start-end":`Start / End`,manual:`Manual`,automated:`Automated`,integration:`Integration`,decision:`Decision`,prerequisite:`Prerequisite`},G_={"start-end":`var(--pf-node-start-end)`,manual:`var(--pf-node-manual)`,automated:`var(--pf-node-automated)`,integration:`var(--pf-node-integration)`,decision:`var(--pf-node-decision)`,prerequisite:`var(--pf-node-prerequisite)`},K_={"start-end":`◎`,manual:`✦`,automated:`◌`,integration:`↗`,decision:`◇`,prerequisite:`⋯`},Ire={"start-end":V_(`start-end`),manual:V_(`manual`),automated:V_(`automated`),integration:V_(`integration`),decision:V_(`decision`),prerequisite:V_(`prerequisite`)}})),Rre=o((()=>{})),q_=c({ProcessFlowViewer:()=>Kre,buildProcessFlowEdges:()=>Wre,buildProcessFlowNodes:()=>Ure,layoutProcessFlowNodes:()=>Hre,normalizeProcessFlowData:()=>J_,readProcessFlowDataFromScript:()=>Vre});function zre(e){return Array.isArray(e)?e.map(e=>({...e,type:e.type||`manual`})):[]}function Bre(e){let t=Object.keys(e.metadata??{}).length;if(e.type===`decision`)return{width:176,height:176};if(e.type===`start-end`)return{width:236,height:e.description?104:84};let n=108+t*18+(e.description?28:0);return{width:228,height:Math.max(n,112)}}function J_(e){return{title:e?.title,description:e?.description,nodes:zre(e?.nodes),edges:Array.isArray(e?.edges)?e.edges:[]}}function Vre(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse process flow data:`,e),J_(void 0)}return J_(n)}async function Hre(e){let t={id:`root`,layoutOptions:{"elk.algorithm":`layered`,"elk.direction":`DOWN`,"elk.spacing.nodeNode":`84`,"elk.layered.spacing.nodeNodeBetweenLayers":`120`,"elk.layered.crossingMinimization.strategy":`LAYER_SWEEP`,"elk.layered.nodePlacement.bk.fixedAlignment":`BALANCED`},children:e.nodes.map(e=>{let t=Bre(e);return{id:e.id,width:t.width,height:t.height}}),edges:e.edges.map((e,t)=>({id:`edge-${t}`,sources:[e.source],targets:[e.target]}))};return(await qre.layout(t)).children??[]}function Ure(e,t){return e.nodes.map(e=>{let n=t.find(t=>t.id===e.id);return{id:e.id,type:e.type,position:{x:n?.x??0,y:n?.y??0},data:e}})}function Wre(e){return e.map((e,t)=>{let n=e.type??`standard`;return{id:`edge-${t}`,source:e.source,target:e.target,label:e.label,...Mre(n)}})}function Gre({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),{fitView:s}=yd(),c=Fre(e.nodes);return(0,Y_.useEffect)(()=>{let t=!1;return e.nodes.length?(Hre(e).then(r=>{t||(n(Ure(e,r)),a(Wre(e.edges)),setTimeout(()=>s({padding:.12}),50))}),()=>{t=!0}):(n([]),a([]),()=>{t=!0})},[e,s,a,n]),(0,Z_.jsxs)(wm,{variant:`full`,children:[(0,Z_.jsx)(Om,{title:e.title||`Process Flow`,subtitle:e.description,showThemeToggle:!0}),(0,Z_.jsxs)(`div`,{className:`process-flow__canvas`,children:[(0,Z_.jsx)(`div`,{className:`process-flow__toolbar`,role:`toolbar`,"aria-label":`Diagram actions`}),(0,Z_.jsxs)(Jp,{nodesDraggable:!1,nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:Ire,edgeTypes:B_,fitView:!0,minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,Z_.jsx)(Qp,{color:`var(--muted)`,gap:24,size:1.5}),(0,Z_.jsx)(em,{}),(0,Z_.jsx)(um,{nodeColor:e=>H_(e.data.type),maskColor:`rgba(0, 0, 0, 0.7)`})]})]}),(0,Z_.jsx)(jm,{legend:c})]})}function Kre({data:e}){return(0,Z_.jsx)(bm,{children:(0,Z_.jsx)(lf,{children:(0,Z_.jsx)(Gre,{data:J_(e)})})})}var Y_,X_,Z_,qre,Q_=o((()=>{Y_=u(h(),1),pm(),mm(),X_=u(hm(),1),Mm(),km(),Tm(),Sm(),gm(),Nre(),Lre(),Rre(),Z_=x(),qre=new X_.default})),$_=o((()=>{})),ev=c({TaskPlanViewer:()=>yv,buildTaskPlanLegendItems:()=>O,getTaskPlanAgentColor:()=>_v,normalizeTaskPlanData:()=>hv,readTaskPlanDataFromScript:()=>gv});function tv(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function nv(e){return typeof e==`string`&&xv.has(e)}function rv(e){return typeof e==`string`&&Sv.has(e)}function Jre(e){if(!e)return`orchestrator`;if(e.startsWith(`Researcher-`))return`researcher`;if(e.startsWith(`Code-Reviewer-`)||e.startsWith(`Architect-Reviewer-`))return`reviewer`;switch(e){case`Implementer`:return`implementer`;case`Frontend`:return`frontend`;case`Refactor`:return`refactor`;case`Debugger`:return`debugger`;case`Security`:return`security`;case`Explorer`:return`explorer`;case`Documenter`:return`documenter`;case`Planner`:return`planner`;default:return`orchestrator`}}function iv(e){return Ev[Jre(e)]}function av(e,t){let n=tv(e?.id)??`task-${t+1}`,r=tv(e?.title)??`Task ${t+1}`,i=tv(e?.description),a=Array.isArray(e?.files)?e.files.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,o=Array.isArray(e?.dependsOn)?Array.from(new Set(e.dependsOn.filter(e=>typeof e==`string`&&e.trim().length>0))).filter(e=>e!==n):void 0;return{id:n,title:r,agent:rv(e?.agent)?e.agent:void 0,files:a?.length?a:void 0,status:nv(e?.status)?e.status:`pending`,description:i,dependsOn:o?.length?o:void 0}}function ov(e,t){let n=typeof e?.order==`number`&&Number.isFinite(e.order)?e.order:t+1;return{id:tv(e?.id)??`batch-${t+1}`,order:n,parallel:!!e?.parallel,label:tv(e?.label),tasks:Array.isArray(e?.tasks)?e.tasks.map((e,t)=>av(e,t)):[]}}function sv(e,t){let n=Array.isArray(e?.batches)?e.batches.map((e,t)=>ov(e,t)).sort((e,t)=>e.order-t.order):[];return{id:tv(e?.id)??`phase-${t+1}`,label:tv(e?.label)??`Phase ${t+1}`,outcome:tv(e?.outcome),batches:n}}function cv(e){return e.phases.flatMap(e=>e.batches.flatMap(e=>e.tasks))}function lv(e){return e.batches.reduce((e,t)=>e+t.tasks.length,0)}function uv(e){let t=cv(e),n={pending:0,"in-progress":0,done:0,blocked:0},r=new Set;for(let e of t)n[e.status??`pending`]+=1,e.agent&&r.add(e.agent);return{totalTasks:t.length,totalPhases:e.phases.length,totalAgents:r.size,statusCounts:n}}function dv(e){let t=e.parallel?`Parallel`:`Sequential`;return e.label?`${e.label} - ${t}`:`Batch ${e.order} - ${t}`}function fv(e){return e.parallel?`⫸`:`→`}function pv(e){let t=lv(e);return e.batches.length<=1?`${t} ${t===1?`task`:`tasks`}`:`${t} ${t===1?`task`:`tasks`} · ${e.batches.length} batches`}function mv(e){return`${e} ${e===1?`file`:`files`}`}function Yre(e){let t=e.dependsOn??[];return t.length<=3?t.map(e=>`Depends: ${e}`):[...t.slice(0,2).map(e=>`Depends: ${e}`),`+${t.length-2} more`]}function hv(e){return{title:tv(e?.title),description:tv(e?.description),phases:Array.isArray(e?.phases)?e.phases.map((e,t)=>sv(e,t)):[]}}function gv(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse task plan data:`,e),hv(void 0)}return hv(n)}function _v(e){return Tv[Jre(e)]}function O(e){let t=Array.isArray(e)?e:cv(e),n=new Set;return t.filter(e=>!!e.agent).filter(e=>n.has(e.agent)?!1:(n.add(e.agent),!0)).map(e=>({label:e.agent,color:_v(e.agent),icon:iv(e.agent)}))}function vv({data:e}){let t=cv(e),n=t.length>0,r=uv(e),i=O(t);return(0,bv.jsxs)(wm,{variant:`full`,children:[(0,bv.jsx)(Om,{title:e.title||`Task Plan`,subtitle:e.description,showThemeToggle:!0}),(0,bv.jsxs)(`div`,{className:`task-plan__shell`,children:[(0,bv.jsx)(`div`,{className:`task-plan__toolbar`,role:`toolbar`,"aria-label":`Task plan actions`}),(0,bv.jsx)(`div`,{className:`task-plan__surface`,children:n?(0,bv.jsxs)(bv.Fragment,{children:[(0,bv.jsx)(`div`,{className:`task-plan__pipeline`,"aria-label":`Task plan pipeline`,children:e.phases.map((t,n)=>(0,bv.jsxs)(`div`,{className:`task-plan__phase-block`,children:[(0,bv.jsx)(`section`,{className:`task-plan-phase`,"aria-labelledby":`task-plan-phase-${t.id}`,children:(0,bv.jsxs)(`div`,{className:`task-plan-phase__content`,children:[(0,bv.jsxs)(`div`,{className:`task-plan-phase__header`,children:[(0,bv.jsx)(`span`,{className:`task-plan-phase__number`,"aria-hidden":`true`,children:n+1}),(0,bv.jsx)(`h2`,{className:`task-plan-phase__label`,id:`task-plan-phase-${t.id}`,children:t.label}),(0,bv.jsx)(`span`,{className:`task-plan-phase__badge`,children:pv(t)})]}),t.outcome?(0,bv.jsx)(`p`,{className:`task-plan-phase__outcome`,children:t.outcome}):null,(0,bv.jsx)(`div`,{className:`task-plan-phase__batches`,children:t.batches.map(e=>(0,bv.jsxs)(`section`,{className:`task-plan-batch`,"aria-label":dv(e),children:[(0,bv.jsxs)(`div`,{className:`task-plan-batch__label`,children:[(0,bv.jsx)(`span`,{className:`task-plan-batch__icon`,"aria-hidden":`true`,children:fv(e)}),(0,bv.jsx)(`span`,{children:dv(e)})]}),(0,bv.jsx)(`div`,{className:`task-plan-batch__tasks${e.parallel?` task-plan-batch__tasks--parallel`:``}`,children:e.tasks.map(e=>{let t=e.files?.length??0,n=Yre(e),r=e.status??`pending`;return(0,bv.jsxs)(`article`,{className:`task-plan-task`,"data-status":r,style:{"--card-accent":_v(e.agent),"--status-color":wv[r]},children:[(0,bv.jsxs)(`div`,{className:`task-plan-task__topline`,children:[(0,bv.jsxs)(`span`,{className:`task-plan-task__agent`,title:e.agent??`Orchestrator`,children:[(0,bv.jsx)(`span`,{className:`task-plan-task__agent-icon`,"aria-hidden":`true`,children:iv(e.agent)}),(0,bv.jsx)(`span`,{className:`task-plan-task__agent-label`,children:e.agent??`Orchestrator`})]}),(0,bv.jsxs)(`span`,{className:`task-plan-task__status`,"data-status":r,children:[(0,bv.jsx)(`span`,{className:`task-plan-task__status-dot`,"aria-hidden":`true`}),(0,bv.jsx)(`span`,{children:Cv[r]})]})]}),(0,bv.jsx)(`div`,{className:`task-plan-task__title`,children:e.title}),e.description?(0,bv.jsx)(`p`,{className:`task-plan-task__description`,children:e.description}):null,(0,bv.jsxs)(`div`,{className:`task-plan-task__meta`,children:[t>0?(0,bv.jsxs)(`span`,{className:`task-plan-task__chip`,children:[`📁 `,mv(t)]}):null,n.map(t=>(0,bv.jsxs)(`span`,{className:`task-plan-task__chip`,title:t,children:[`🔗 `,t]},`${e.id}-${t}`))]})]},e.id)})})]},e.id))})]})}),n<e.phases.length-1?(0,bv.jsx)(`div`,{className:`task-plan__connector`,"aria-hidden":`true`}):null]},t.id))}),(0,bv.jsxs)(`section`,{className:`task-plan__summary`,"aria-label":`Task plan summary`,children:[(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalTasks}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Total Tasks`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalPhases}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Phases`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.pending},children:r.statusCounts.pending}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Pending`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv[`in-progress`]},children:r.statusCounts[`in-progress`]}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`In Progress`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.done},children:r.statusCounts.done}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Done`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.blocked},children:r.statusCounts.blocked}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Blocked`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalAgents}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Agents`})]})]}),i.length>0?(0,bv.jsxs)(`section`,{className:`task-plan__legend`,"aria-label":`Agent legend`,children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-title`,children:`Agents`}),i.map(e=>(0,bv.jsxs)(`span`,{className:`task-plan__legend-item`,children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-dot`,style:{backgroundColor:e.color}}),(0,bv.jsxs)(`span`,{children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-icon`,children:e.icon}),e.label]})]},e.label))]}):null]}):(0,bv.jsxs)(`div`,{className:`task-plan__empty`,role:`status`,children:[(0,bv.jsx)(`strong`,{children:`No tasks to render`}),(0,bv.jsx)(`span`,{children:`Add phases, batches, and tasks to populate the plan.`})]})})]}),(0,bv.jsx)(jm,{})]})}function yv({data:e}){return(0,bv.jsx)(bm,{children:(0,bv.jsx)(vv,{data:hv(e)})})}var bv,xv,Sv,Cv,wv,Tv,Ev,Dv=o((()=>{Mm(),km(),Tm(),Sm(),gm(),$_(),bv=x(),xv=new Set([`pending`,`in-progress`,`done`,`blocked`]),Sv=new Set([`Researcher-Alpha`,`Researcher-Beta`,`Researcher-Gamma`,`Researcher-Delta`,`Implementer`,`Frontend`,`Refactor`,`Debugger`,`Security`,`Explorer`,`Documenter`,`Code-Reviewer-Alpha`,`Code-Reviewer-Beta`,`Architect-Reviewer-Alpha`,`Architect-Reviewer-Beta`,`Planner`,`Orchestrator`]),Cv={pending:`Pending`,"in-progress":`In Progress`,done:`Done`,blocked:`Blocked`},wv={pending:`var(--tp-status-pending)`,"in-progress":`var(--tp-status-in-progress)`,done:`var(--tp-status-done)`,blocked:`var(--tp-status-blocked)`},Tv={researcher:`var(--tp-agent-researcher)`,implementer:`var(--tp-agent-implementer)`,frontend:`var(--tp-agent-frontend)`,reviewer:`var(--tp-agent-reviewer)`,debugger:`var(--tp-agent-debugger)`,security:`var(--tp-agent-security)`,explorer:`var(--tp-agent-explorer)`,documenter:`var(--tp-agent-documenter)`,refactor:`var(--tp-agent-refactor)`,planner:`var(--tp-agent-planner)`,orchestrator:`var(--tp-agent-orchestrator)`},Ev={researcher:`🔬`,implementer:`🛠`,frontend:`🎨`,reviewer:`🧪`,debugger:`🐞`,security:`🛡`,explorer:`🧭`,documenter:`📝`,refactor:`♻`,planner:`🧠`,orchestrator:`🎛`}})),Ov=u(h(),1),kv=x(),Xre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Vm(),Hee)),void 0,import.meta.url)).C4Viewer})),Zre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Ore(),Tre)),void 0,import.meta.url)).TourViewer})),Qre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Q_(),q_)),void 0,import.meta.url)).ProcessFlowViewer})),$re=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Dv(),ev)),void 0,import.meta.url)).TaskPlanViewer}));function eie(e){return e===`c4`||e===`tour`||e===`process-flow`||e===`task-plan`}function Av(e=document){let t=e.getElementById(`diagram-data`),n={kind:`c4`};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse viewer data:`,e),{kind:`unknown`,value:void 0,error:`Failed to parse viewer data.`}}return typeof n==`object`&&n&&`kind`in n&&eie(n.kind)?n:{kind:`unknown`,value:n}}function jv(){let e=Av();return(0,kv.jsxs)(Ov.Suspense,{fallback:(0,kv.jsx)(`div`,{className:`loading`,children:`Loading viewer...`}),children:[e.kind===`c4`?(0,kv.jsx)(Xre,{data:e}):null,e.kind===`tour`?(0,kv.jsx)(Zre,{data:e}):null,e.kind===`process-flow`?(0,kv.jsx)(Qre,{data:e}):null,e.kind===`task-plan`?(0,kv.jsx)($re,{data:e}):null,e.kind===`unknown`?(0,kv.jsx)(`div`,{className:`error`,children:e.error??`Unknown viewer kind: ${String(e.value.kind??`undefined`)}`}):null]})}(0,C.createRoot)(document.getElementById(`root`)).render((0,kv.jsx)(jv,{}));</script>
|
|
1526
|
+
`):null}function Sre(e){let t=[],n=xre(e),r=e.explanation??e.description;return n&&t.push({type:`markdown`,value:n}),r&&t.push({type:`markdown`,value:r}),e.code&&t.push({type:`code`,language:bre(e.file),value:e.code}),t}var Cre,wre=o((()=>{Cre={cjs:`js`,css:`css`,go:`go`,html:`html`,java:`java`,js:`js`,json:`json`,jsx:`jsx`,md:`md`,mjs:`js`,py:`python`,rs:`rust`,sh:`bash`,sql:`sql`,ts:`ts`,tsx:`tsx`,yml:`yaml`,yaml:`yaml`}})),Tre=c({TourViewer:()=>j_});function O_(e){if(e.getElementById(P_))return;let t=e.createElement(`style`);t.id=P_,t.textContent=Dne(),e.head.appendChild(t)}function k_(e,t){let n=new Set(t.map(e=>e.target)),r=e.filter(e=>!n.has(e.id));r.length===0&&e.length>0&&r.push(e[0]);let i=new Map,a=new Map;t.forEach(e=>{let t=a.get(e.source)||[];t.push(e.target),a.set(e.source,t)});let o=r.map(e=>({id:e.id,level:0})),s=new Set;for(;o.length>0;){let{id:e,level:t}=o.shift();s.has(e)||(s.add(e),i.set(e,t),(a.get(e)||[]).forEach(e=>{s.has(e)||o.push({id:e,level:t+1})}))}e.forEach(e=>{i.has(e.id)||i.set(e.id,i.size>0?Math.max(...i.values())+1:0)});let c=new Map;i.forEach((e,t)=>{let n=c.get(e)||[];n.push(t),c.set(e,n)});let l=new Map;return c.forEach((e,t)=>{let n=-(e.length*220+(e.length-1)*60)/2;e.forEach((e,r)=>{l.set(e,{x:n+r*280,y:t*180})})}),l}function Ere({file:e}){let t=e.split(`.`).pop()?.toLowerCase()||``,n={width:14,height:14,flexShrink:0,opacity:.7};switch(t){case`ts`:case`tsx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3178c6`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`TS`})]});case`js`:case`jsx`:case`mjs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#f7df1e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#000`,fontWeight:`700`,children:`JS`})]});case`json`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.2`,children:[(0,N_.jsx)(`path`,{d:`M4 2c-1.5 0-2 1-2 2v2c0 1-0.5 1-1 1 0.5 0 1 0 1 1v2c0 1 0.5 2 2 2`}),(0,N_.jsx)(`path`,{d:`M10 2c1.5 0 2 1 2 2v2c0 1 0.5 1 1 1-0.5 0-1 0-1 1v2c0 1-0.5 2-2 2`})]});case`css`:case`scss`:case`less`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#264de4`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`CSS`})]});case`html`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#e34c26`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`H`})]});case`py`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3776ab`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#ffd43b`,fontWeight:`700`,children:`Py`})]});case`go`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#00add8`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Go`})]});case`rs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#ce412b`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Rs`})]});case`md`:case`mdx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`3`,width:`12`,height:`8`,rx:`1`}),(0,N_.jsx)(`path`,{d:`M3 9V5l2 2 2-2v4M10 7.5l1.5-1.5M10 7.5l-1.5-1.5M10 7.5V5`})]});case`yaml`:case`yml`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#cb171e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`5`,fill:`#fff`,fontWeight:`700`,children:`YML`})]});default:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#6b7a90`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`path`,{d:`M4 1h4l3 3v9H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z`}),(0,N_.jsx)(`path`,{d:`M8 1v3h3`})]})}}function A_({data:e}){let t=e;return(0,N_.jsxs)(`div`,{onClick:t.onClick,style:{background:t.active?`var(--accent)`:`var(--card)`,border:`2px solid ${t.active?`var(--primary)`:`var(--border)`}`,borderRadius:8,padding:`10px 14px`,width:220,cursor:`pointer`,transition:`all 0.2s`,color:`var(--card-foreground)`},children:[(0,N_.jsx)(_p,{type:`target`,position:wl.Top,style:{opacity:0}}),(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,N_.jsx)(`span`,{style:{width:22,height:22,borderRadius:`50%`,background:t.active?`var(--primary)`:`var(--muted)`,color:t.active?`var(--primary-foreground)`:`var(--muted-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`11px`,fontWeight:700,flexShrink:0},children:t.step.stepNumber}),(0,N_.jsx)(`span`,{style:{fontWeight:600,fontSize:`12px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.step.title})]}),(0,N_.jsxs)(`div`,{style:{fontSize:`10px`,opacity:.7,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`flex`,alignItems:`center`,gap:4,paddingLeft:30},children:[(0,N_.jsx)(Ere,{file:t.step.file}),t.step.file]}),(0,N_.jsx)(_p,{type:`source`,position:wl.Bottom,style:{opacity:0}})]})}function Dre({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),[s,c]=(0,M_.useState)(e.steps?.[0]||null);(0,M_.useEffect)(()=>{O_(document)},[]);let l=(0,M_.useCallback)(t=>{if(!e.steps?.length)return;let r=k_(e.steps,e.dependencies||[]),i=e.steps.map(e=>({id:e.id,type:`step`,position:r.get(e.id)||{x:0,y:0},data:{step:e,active:e.id===t,onClick:()=>c(e)}})),o=(e.dependencies||[]).map((e,t)=>({id:`e${t}`,source:e.source,target:e.target,animated:!0,markerEnd:{type:Cl.ArrowClosed,color:`var(--muted-foreground)`},style:{stroke:`var(--primary)`,strokeWidth:1.5}}));n(i),a(o)},[e]);(0,M_.useEffect)(()=>{l(s?.id||null)},[e,s]);let u=s?e.steps.findIndex(e=>e.id===s.id):-1,d=u>0,f=u<e.steps.length-1,p=s?Ig(Sre(s),{mode:`standalone`}):``;return(0,N_.jsxs)(wm,{variant:`full`,children:[(0,N_.jsx)(Om,{title:e.title||`Code Tour`,subtitle:e.description,showThemeToggle:!0}),(0,N_.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,minHeight:0,height:`100%`,overflow:`hidden`},children:[(0,N_.jsx)(`div`,{style:{flex:1,position:`relative`},children:(0,N_.jsxs)(Jp,{nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:F_,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,N_.jsx)(Qp,{color:`var(--muted)`,gap:20,size:1.5}),(0,N_.jsx)(em,{}),(0,N_.jsx)(um,{maskColor:`rgba(0,0,0,0.7)`})]})}),s&&(0,N_.jsxs)(`div`,{style:{padding:`16px 20px`,borderTop:`1px solid var(--border)`,background:`var(--card)`,maxHeight:`35%`,overflow:`auto`,color:`var(--card-foreground)`},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,N_.jsx)(`span`,{style:{width:24,height:24,borderRadius:`50%`,background:`var(--primary)`,color:`var(--primary-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`12px`,fontWeight:700},children:s.stepNumber}),(0,N_.jsx)(`h2`,{style:{fontSize:`14px`,margin:0},children:s.title})]}),(0,N_.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,N_.jsx)(`button`,{disabled:!d,onClick:()=>d&&c(e.steps[u-1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:d?`var(--muted)`:`var(--background)`,color:d?`var(--foreground)`:`var(--muted-foreground)`,cursor:d?`pointer`:`default`},children:`← Prev`}),(0,N_.jsx)(`button`,{disabled:!f,onClick:()=>f&&c(e.steps[u+1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:f?`var(--muted)`:`var(--background)`,color:f?`var(--foreground)`:`var(--muted-foreground)`,cursor:f?`pointer`:`default`},children:`Next →`})]})]}),p?(0,N_.jsx)(`div`,{style:{display:`grid`,gap:12},dangerouslySetInnerHTML:{__html:p}}):null]})]}),(0,N_.jsx)(jm,{})]})}function j_({data:e}){return(0,N_.jsx)(bm,{children:(0,N_.jsx)(lf,{children:(0,N_.jsx)(Dre,{data:e})})})}var M_,N_,P_,F_,Ore=o((()=>{vre(),M_=u(h(),1),pm(),mm(),Sm(),Tm(),km(),Mm(),wre(),gm(),N_=x(),P_=`aikit-tour-block-styles`,F_={step:A_}}));function I_(e){switch(e){case`loop-back`:return`var(--pf-edge-loop-back)`;case`exception`:return`var(--pf-edge-exception)`;default:return`var(--pf-edge-standard)`}}function L_(e){return{type:Cl.ArrowClosed,color:I_(e)}}function R_(e){let{id:t,markerEnd:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,label:l,variant:u,selected:d}=e,[f,p,m]=u===`standard`?_c({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,borderRadius:20,offset:18}):uc({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,curvature:u===`loop-back`?.42:.28});return(0,z_.jsxs)(z_.Fragment,{children:[(0,z_.jsx)(Hd,{id:t,path:f,markerEnd:n,style:{stroke:I_(u),strokeWidth:d?3:2,strokeDasharray:u===`standard`?void 0:`8 6`}}),l?(0,z_.jsx)(ff,{children:(0,z_.jsx)(`div`,{className:`process-flow-edge__label process-flow-edge__label--${u}`,style:{transform:`translate(-50%, -50%) translate(${p}px, ${m}px)`},children:l})}):null]})}function kre(e){return(0,z_.jsx)(R_,{...e,variant:`standard`})}function Are(e){return(0,z_.jsx)(R_,{...e,variant:`loop-back`})}function jre(e){return(0,z_.jsx)(R_,{...e,variant:`exception`})}function Mre(e=`standard`){return{type:e,animated:e!==`standard`,markerEnd:L_(e),data:{variant:e}}}var z_,B_,Nre=o((()=>{pm(),z_=x(),B_={standard:kre,"loop-back":Are,exception:jre}}));function Pre({data:e,forcedType:t}){let n=Object.entries(e.metadata??{}),r=t===`decision`;return(0,U_.jsxs)(`div`,{className:`process-flow-node process-flow-node--${t}`,"data-node-type":t,children:[(0,U_.jsx)(_p,{className:`process-flow-node__handle`,type:`target`,position:wl.Top}),(0,U_.jsxs)(`div`,{className:`process-flow-node__frame`,children:[(0,U_.jsx)(`div`,{className:`process-flow-node__surface`}),(0,U_.jsxs)(`div`,{className:`process-flow-node__content`,children:[(0,U_.jsxs)(`div`,{className:`process-flow-node__eyebrow`,children:[(0,U_.jsx)(`span`,{className:`process-flow-node__icon`,"aria-hidden":`true`,children:K_[t]}),(0,U_.jsx)(`span`,{children:W_[t]})]}),(0,U_.jsx)(`div`,{className:`process-flow-node__label`,children:e.label}),e.description?(0,U_.jsx)(`p`,{className:`process-flow-node__description`,children:e.description}):null,n.length>0?(0,U_.jsx)(`dl`,{className:`process-flow-node__metadata`,children:n.map(([e,t])=>(0,U_.jsxs)(`div`,{className:`process-flow-node__metadata-row`,children:[(0,U_.jsx)(`dt`,{children:e}),(0,U_.jsx)(`dd`,{children:t})]},e))}):null,r?(0,U_.jsx)(`div`,{className:`process-flow-node__decision-shadow`,"aria-hidden":`true`}):null]})]}),(0,U_.jsx)(_p,{className:`process-flow-node__handle`,type:`source`,position:wl.Bottom})]})}function V_(e){return function(t){let n={...t.data,type:e};return(0,U_.jsx)(Pre,{...t,data:n,forcedType:e})}}function H_(e){return G_[e]}function Fre(e){let t=new Set;return e.filter(e=>t.has(e.type)?!1:(t.add(e.type),!0)).map(e=>({label:W_[e.type],color:G_[e.type],icon:K_[e.type]}))}var U_,W_,G_,K_,Ire,Lre=o((()=>{pm(),U_=x(),W_={"start-end":`Start / End`,manual:`Manual`,automated:`Automated`,integration:`Integration`,decision:`Decision`,prerequisite:`Prerequisite`},G_={"start-end":`var(--pf-node-start-end)`,manual:`var(--pf-node-manual)`,automated:`var(--pf-node-automated)`,integration:`var(--pf-node-integration)`,decision:`var(--pf-node-decision)`,prerequisite:`var(--pf-node-prerequisite)`},K_={"start-end":`◎`,manual:`✦`,automated:`◌`,integration:`↗`,decision:`◇`,prerequisite:`⋯`},Ire={"start-end":V_(`start-end`),manual:V_(`manual`),automated:V_(`automated`),integration:V_(`integration`),decision:V_(`decision`),prerequisite:V_(`prerequisite`)}})),Rre=o((()=>{})),q_=c({ProcessFlowViewer:()=>Kre,buildProcessFlowEdges:()=>Wre,buildProcessFlowNodes:()=>Ure,layoutProcessFlowNodes:()=>Hre,normalizeProcessFlowData:()=>J_,readProcessFlowDataFromScript:()=>Vre});function zre(e){return Array.isArray(e)?e.map(e=>({...e,type:e.type||`manual`})):[]}function Bre(e){let t=Object.keys(e.metadata??{}).length;if(e.type===`decision`)return{width:176,height:176};if(e.type===`start-end`)return{width:236,height:e.description?104:84};let n=108+t*18+(e.description?28:0);return{width:228,height:Math.max(n,112)}}function J_(e){return{title:e?.title,description:e?.description,nodes:zre(e?.nodes),edges:Array.isArray(e?.edges)?e.edges:[]}}function Vre(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse process flow data:`,e),J_(void 0)}return J_(n)}async function Hre(e){let t={id:`root`,layoutOptions:{"elk.algorithm":`layered`,"elk.direction":`DOWN`,"elk.spacing.nodeNode":`84`,"elk.layered.spacing.nodeNodeBetweenLayers":`120`,"elk.layered.crossingMinimization.strategy":`LAYER_SWEEP`,"elk.layered.nodePlacement.bk.fixedAlignment":`BALANCED`},children:e.nodes.map(e=>{let t=Bre(e);return{id:e.id,width:t.width,height:t.height}}),edges:e.edges.map((e,t)=>({id:`edge-${t}`,sources:[e.source],targets:[e.target]}))};return(await qre.layout(t)).children??[]}function Ure(e,t){return e.nodes.map(e=>{let n=t.find(t=>t.id===e.id);return{id:e.id,type:e.type,position:{x:n?.x??0,y:n?.y??0},data:e}})}function Wre(e){return e.map((e,t)=>{let n=e.type??`standard`;return{id:`edge-${t}`,source:e.source,target:e.target,label:e.label,...Mre(n)}})}function Gre({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),{fitView:s}=yd(),c=Fre(e.nodes);return(0,Y_.useEffect)(()=>{let t=!1;return e.nodes.length?(Hre(e).then(r=>{t||(n(Ure(e,r)),a(Wre(e.edges)),setTimeout(()=>s({padding:.12}),50))}),()=>{t=!0}):(n([]),a([]),()=>{t=!0})},[e,s,a,n]),(0,Z_.jsxs)(wm,{variant:`full`,children:[(0,Z_.jsx)(Om,{title:e.title||`Process Flow`,subtitle:e.description,showThemeToggle:!0}),(0,Z_.jsxs)(`div`,{className:`process-flow__canvas`,children:[(0,Z_.jsx)(`div`,{className:`process-flow__toolbar`,role:`toolbar`,"aria-label":`Diagram actions`}),(0,Z_.jsxs)(Jp,{nodesDraggable:!1,nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:Ire,edgeTypes:B_,fitView:!0,minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,Z_.jsx)(Qp,{color:`var(--muted)`,gap:24,size:1.5}),(0,Z_.jsx)(em,{}),(0,Z_.jsx)(um,{nodeColor:e=>H_(e.data.type),maskColor:`rgba(0, 0, 0, 0.7)`})]})]}),(0,Z_.jsx)(jm,{legend:c})]})}function Kre({data:e}){return(0,Z_.jsx)(bm,{children:(0,Z_.jsx)(lf,{children:(0,Z_.jsx)(Gre,{data:J_(e)})})})}var Y_,X_,Z_,qre,Q_=o((()=>{Y_=u(h(),1),pm(),mm(),X_=u(hm(),1),Mm(),km(),Tm(),Sm(),gm(),Nre(),Lre(),Rre(),Z_=x(),qre=new X_.default})),$_=o((()=>{})),ev=c({TaskPlanViewer:()=>yv,buildTaskPlanLegendItems:()=>O,getTaskPlanAgentColor:()=>_v,normalizeTaskPlanData:()=>hv,readTaskPlanDataFromScript:()=>gv});function tv(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function nv(e){return typeof e==`string`&&xv.has(e)}function rv(e){return typeof e==`string`&&Sv.has(e)}function Jre(e){if(!e)return`orchestrator`;if(e.startsWith(`Researcher-`))return`researcher`;if(e.startsWith(`Code-Reviewer-`)||e.startsWith(`Architect-Reviewer-`))return`reviewer`;switch(e){case`Implementer`:return`implementer`;case`Frontend`:return`frontend`;case`Refactor`:return`refactor`;case`Debugger`:return`debugger`;case`Security`:return`security`;case`Explorer`:return`explorer`;case`Documenter`:return`documenter`;case`Planner`:return`planner`;default:return`orchestrator`}}function iv(e){return Ev[Jre(e)]}function av(e,t){let n=tv(e?.id)??`task-${t+1}`,r=tv(e?.title)??`Task ${t+1}`,i=tv(e?.description),a=Array.isArray(e?.files)?e.files.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,o=Array.isArray(e?.dependsOn)?Array.from(new Set(e.dependsOn.filter(e=>typeof e==`string`&&e.trim().length>0))).filter(e=>e!==n):void 0;return{id:n,title:r,agent:rv(e?.agent)?e.agent:void 0,files:a?.length?a:void 0,status:nv(e?.status)?e.status:`pending`,description:i,dependsOn:o?.length?o:void 0}}function ov(e,t){let n=typeof e?.order==`number`&&Number.isFinite(e.order)?e.order:t+1;return{id:tv(e?.id)??`batch-${t+1}`,order:n,parallel:!!e?.parallel,label:tv(e?.label),tasks:Array.isArray(e?.tasks)?e.tasks.map((e,t)=>av(e,t)):[]}}function sv(e,t){let n=Array.isArray(e?.batches)?e.batches.map((e,t)=>ov(e,t)).sort((e,t)=>e.order-t.order):[];return{id:tv(e?.id)??`phase-${t+1}`,label:tv(e?.label)??`Phase ${t+1}`,outcome:tv(e?.outcome),batches:n}}function cv(e){return e.phases.flatMap(e=>e.batches.flatMap(e=>e.tasks))}function lv(e){return e.batches.reduce((e,t)=>e+t.tasks.length,0)}function uv(e){let t=cv(e),n={pending:0,"in-progress":0,done:0,blocked:0},r=new Set;for(let e of t)n[e.status??`pending`]+=1,e.agent&&r.add(e.agent);return{totalTasks:t.length,totalPhases:e.phases.length,totalAgents:r.size,statusCounts:n}}function dv(e){let t=e.parallel?`Parallel`:`Sequential`;return e.label?`${e.label} - ${t}`:`Batch ${e.order} - ${t}`}function fv(e){return e.parallel?`⫸`:`→`}function pv(e){let t=lv(e);return e.batches.length<=1?`${t} ${t===1?`task`:`tasks`}`:`${t} ${t===1?`task`:`tasks`} · ${e.batches.length} batches`}function mv(e){return`${e} ${e===1?`file`:`files`}`}function Yre(e){let t=e.dependsOn??[];return t.length<=3?t.map(e=>`Depends: ${e}`):[...t.slice(0,2).map(e=>`Depends: ${e}`),`+${t.length-2} more`]}function hv(e){return{title:tv(e?.title),description:tv(e?.description),phases:Array.isArray(e?.phases)?e.phases.map((e,t)=>sv(e,t)):[]}}function gv(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse task plan data:`,e),hv(void 0)}return hv(n)}function _v(e){return Tv[Jre(e)]}function O(e){let t=Array.isArray(e)?e:cv(e),n=new Set;return t.filter(e=>!!e.agent).filter(e=>n.has(e.agent)?!1:(n.add(e.agent),!0)).map(e=>({label:e.agent,color:_v(e.agent),icon:iv(e.agent)}))}function vv({data:e}){let t=cv(e),n=t.length>0,r=uv(e),i=O(t);return(0,bv.jsxs)(wm,{variant:`full`,children:[(0,bv.jsx)(Om,{title:e.title||`Task Plan`,subtitle:e.description,showThemeToggle:!0}),(0,bv.jsxs)(`div`,{className:`task-plan__shell`,children:[(0,bv.jsx)(`div`,{className:`task-plan__toolbar`,role:`toolbar`,"aria-label":`Task plan actions`}),(0,bv.jsx)(`div`,{className:`task-plan__surface`,children:n?(0,bv.jsxs)(bv.Fragment,{children:[(0,bv.jsx)(`div`,{className:`task-plan__pipeline`,"aria-label":`Task plan pipeline`,children:e.phases.map((t,n)=>(0,bv.jsxs)(`div`,{className:`task-plan__phase-block`,children:[(0,bv.jsx)(`section`,{className:`task-plan-phase`,"aria-labelledby":`task-plan-phase-${t.id}`,children:(0,bv.jsxs)(`div`,{className:`task-plan-phase__content`,children:[(0,bv.jsxs)(`div`,{className:`task-plan-phase__header`,children:[(0,bv.jsx)(`span`,{className:`task-plan-phase__number`,"aria-hidden":`true`,children:n+1}),(0,bv.jsx)(`h2`,{className:`task-plan-phase__label`,id:`task-plan-phase-${t.id}`,children:t.label}),(0,bv.jsx)(`span`,{className:`task-plan-phase__badge`,children:pv(t)})]}),t.outcome?(0,bv.jsx)(`p`,{className:`task-plan-phase__outcome`,children:t.outcome}):null,(0,bv.jsx)(`div`,{className:`task-plan-phase__batches`,children:t.batches.map(e=>(0,bv.jsxs)(`section`,{className:`task-plan-batch`,"aria-label":dv(e),children:[(0,bv.jsxs)(`div`,{className:`task-plan-batch__label`,children:[(0,bv.jsx)(`span`,{className:`task-plan-batch__icon`,"aria-hidden":`true`,children:fv(e)}),(0,bv.jsx)(`span`,{children:dv(e)})]}),(0,bv.jsx)(`div`,{className:`task-plan-batch__tasks${e.parallel?` task-plan-batch__tasks--parallel`:``}`,children:e.tasks.map(e=>{let t=e.files?.length??0,n=Yre(e),r=e.status??`pending`;return(0,bv.jsxs)(`article`,{className:`task-plan-task`,"data-status":r,style:{"--card-accent":_v(e.agent),"--status-color":wv[r]},children:[(0,bv.jsxs)(`div`,{className:`task-plan-task__topline`,children:[(0,bv.jsxs)(`span`,{className:`task-plan-task__agent`,title:e.agent??`Orchestrator`,children:[(0,bv.jsx)(`span`,{className:`task-plan-task__agent-icon`,"aria-hidden":`true`,children:iv(e.agent)}),(0,bv.jsx)(`span`,{className:`task-plan-task__agent-label`,children:e.agent??`Orchestrator`})]}),(0,bv.jsxs)(`span`,{className:`task-plan-task__status`,"data-status":r,children:[(0,bv.jsx)(`span`,{className:`task-plan-task__status-dot`,"aria-hidden":`true`}),(0,bv.jsx)(`span`,{children:Cv[r]})]})]}),(0,bv.jsx)(`div`,{className:`task-plan-task__title`,title:e.description??e.title,children:e.title}),e.description?(0,bv.jsx)(`p`,{className:`task-plan-task__description`,children:e.description}):null,(0,bv.jsxs)(`div`,{className:`task-plan-task__meta`,children:[t>0?(0,bv.jsxs)(`span`,{className:`task-plan-task__chip`,title:e.files?.join(`
|
|
1527
|
+
`),children:[`📁 `,mv(t)]}):null,n.map(t=>(0,bv.jsxs)(`span`,{className:`task-plan-task__chip`,title:t,children:[`🔗 `,t]},`${e.id}-${t}`))]})]},e.id)})})]},e.id))})]})}),n<e.phases.length-1?(0,bv.jsx)(`div`,{className:`task-plan__connector`,"aria-hidden":`true`}):null]},t.id))}),(0,bv.jsxs)(`section`,{className:`task-plan__summary`,"aria-label":`Task plan summary`,children:[(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalTasks}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Total Tasks`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalPhases}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Phases`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.pending},children:r.statusCounts.pending}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Pending`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv[`in-progress`]},children:r.statusCounts[`in-progress`]}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`In Progress`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.done},children:r.statusCounts.done}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Done`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:wv.blocked},children:r.statusCounts.blocked}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Blocked`})]}),(0,bv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,bv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalAgents}),(0,bv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Agents`})]})]}),i.length>0?(0,bv.jsxs)(`section`,{className:`task-plan__legend`,"aria-label":`Agent legend`,children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-title`,children:`Agents`}),i.map(e=>(0,bv.jsxs)(`span`,{className:`task-plan__legend-item`,children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-dot`,style:{backgroundColor:e.color}}),(0,bv.jsxs)(`span`,{children:[(0,bv.jsx)(`span`,{className:`task-plan__legend-icon`,children:e.icon}),e.label]})]},e.label))]}):null]}):(0,bv.jsxs)(`div`,{className:`task-plan__empty`,role:`status`,children:[(0,bv.jsx)(`strong`,{children:`No tasks to render`}),(0,bv.jsx)(`span`,{children:`Add phases, batches, and tasks to populate the plan.`})]})})]}),(0,bv.jsx)(jm,{})]})}function yv({data:e}){return(0,bv.jsx)(bm,{children:(0,bv.jsx)(vv,{data:hv(e)})})}var bv,xv,Sv,Cv,wv,Tv,Ev,Dv=o((()=>{Mm(),km(),Tm(),Sm(),gm(),$_(),bv=x(),xv=new Set([`pending`,`in-progress`,`done`,`blocked`]),Sv=new Set([`Researcher-Alpha`,`Researcher-Beta`,`Researcher-Gamma`,`Researcher-Delta`,`Implementer`,`Frontend`,`Refactor`,`Debugger`,`Security`,`Explorer`,`Documenter`,`Code-Reviewer-Alpha`,`Code-Reviewer-Beta`,`Architect-Reviewer-Alpha`,`Architect-Reviewer-Beta`,`Planner`,`Orchestrator`]),Cv={pending:`Pending`,"in-progress":`In Progress`,done:`Done`,blocked:`Blocked`},wv={pending:`var(--tp-status-pending)`,"in-progress":`var(--tp-status-in-progress)`,done:`var(--tp-status-done)`,blocked:`var(--tp-status-blocked)`},Tv={researcher:`var(--tp-agent-researcher)`,implementer:`var(--tp-agent-implementer)`,frontend:`var(--tp-agent-frontend)`,reviewer:`var(--tp-agent-reviewer)`,debugger:`var(--tp-agent-debugger)`,security:`var(--tp-agent-security)`,explorer:`var(--tp-agent-explorer)`,documenter:`var(--tp-agent-documenter)`,refactor:`var(--tp-agent-refactor)`,planner:`var(--tp-agent-planner)`,orchestrator:`var(--tp-agent-orchestrator)`},Ev={researcher:`🔬`,implementer:`🛠`,frontend:`🎨`,reviewer:`🧪`,debugger:`🐞`,security:`🛡`,explorer:`🧭`,documenter:`📝`,refactor:`♻`,planner:`🧠`,orchestrator:`🎛`}})),Ov=u(h(),1),kv=x(),Xre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Vm(),Hee)),void 0,import.meta.url)).C4Viewer})),Zre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Ore(),Tre)),void 0,import.meta.url)).TourViewer})),Qre=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Q_(),q_)),void 0,import.meta.url)).ProcessFlowViewer})),$re=(0,Ov.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Dv(),ev)),void 0,import.meta.url)).TaskPlanViewer}));function eie(e){return e===`c4`||e===`tour`||e===`process-flow`||e===`task-plan`}function Av(e=document){let t=e.getElementById(`diagram-data`),n={kind:`c4`};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse viewer data:`,e),{kind:`unknown`,value:void 0,error:`Failed to parse viewer data.`}}return typeof n==`object`&&n&&`kind`in n&&eie(n.kind)?n:{kind:`unknown`,value:n}}function jv(){let e=Av();return(0,kv.jsxs)(Ov.Suspense,{fallback:(0,kv.jsx)(`div`,{className:`loading`,children:`Loading viewer...`}),children:[e.kind===`c4`?(0,kv.jsx)(Xre,{data:e}):null,e.kind===`tour`?(0,kv.jsx)(Zre,{data:e}):null,e.kind===`process-flow`?(0,kv.jsx)(Qre,{data:e}):null,e.kind===`task-plan`?(0,kv.jsx)($re,{data:e}):null,e.kind===`unknown`?(0,kv.jsx)(`div`,{className:`error`,children:e.error??`Unknown viewer kind: ${String(e.value.kind??`undefined`)}`}):null]})}(0,C.createRoot)(document.getElementById(`root`)).render((0,kv.jsx)(jv,{}));</script>
|
|
1527
1528
|
<style rel="stylesheet" crossorigin>.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--dt-bg-primary:#0d1117;--dt-bg-secondary:#161b22;--dt-bg-tertiary:#21262d;--dt-bg-canvas:#010409;--dt-text-primary:#f0f6fc;--dt-text-secondary:#9198a1;--dt-text-tertiary:#656d76;--dt-border-default:#30363d;--dt-border-muted:#21262d;--dt-border-subtle:#1f242d;--dt-accent-fg:#58a6ff;--dt-accent-emphasis:#1f6feb;--dt-accent-muted:#388bfd66;--dt-accent-subtle:#388bfd26;--dt-success-fg:#3fb950;--dt-success-emphasis:#238636;--dt-success-muted:#3fb95066;--dt-success-subtle:#3fb95026;--dt-danger-fg:#f85149;--dt-danger-emphasis:#da3633;--dt-danger-muted:#f8514966;--dt-danger-subtle:#f8514926;--dt-warning-fg:#d29922;--dt-warning-emphasis:#bb8009;--dt-warning-muted:#d2992266;--dt-warning-subtle:#d2992226;--dt-purple-fg:#bc8cff;--dt-purple-emphasis:#a371f7;--dt-purple-muted:#bc8cff66;--dt-purple-subtle:#bc8cff26;--dt-font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--dt-font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--dt-font-size-xs:.75rem;--dt-font-size-sm:.8125rem;--dt-font-size-base:.875rem;--dt-font-size-lg:1rem;--dt-font-size-xl:1.25rem;--dt-font-size-2xl:1.5rem;--dt-font-size-3xl:2rem;--dt-space-1:.25rem;--dt-space-2:.5rem;--dt-space-3:.75rem;--dt-space-4:1rem;--dt-space-5:1.25rem;--dt-space-6:1.5rem;--dt-space-8:2rem;--dt-space-12:3rem;--dt-space-16:4rem;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-shadow-sm:0 1px 2px #01040959;--dt-shadow-md:0 3px 6px #01040966;--dt-shadow-lg:0 8px 24px #01040973;--dt-glow-accent:#388bfd24;--dt-glow-success:#3fb95024;--dt-glow-danger:#f8514924;--dt-glow-warning:#d2992224;--dt-glow-purple:#bc8cff24;--dt-transition-fast:.15s ease;--dt-transition-normal:.2s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-primary:#fff;--dt-bg-secondary:#f6f8fa;--dt-bg-tertiary:#eaeef2;--dt-bg-canvas:#f0f0f0;--dt-text-primary:#1f2328;--dt-text-secondary:#656d76;--dt-text-tertiary:#8b949e;--dt-border-default:#d0d7de;--dt-border-muted:#d8dee4;--dt-border-subtle:#eaeef2;--dt-accent-fg:#0969da;--dt-accent-emphasis:#0550ae;--dt-accent-muted:#0969da66;--dt-accent-subtle:#0969da1a;--dt-success-fg:#1a7f37;--dt-success-emphasis:#116329;--dt-success-muted:#1a7f3766;--dt-success-subtle:#1a7f371a;--dt-danger-fg:#cf222e;--dt-danger-emphasis:#a40e26;--dt-danger-muted:#cf222e66;--dt-danger-subtle:#cf222e1a;--dt-warning-fg:#9a6700;--dt-warning-emphasis:#7d4e00;--dt-warning-muted:#9a670066;--dt-warning-subtle:#9a67001a;--dt-purple-fg:#8250df;--dt-purple-emphasis:#6639ba;--dt-purple-muted:#8250df66;--dt-purple-subtle:#8250df1a;--dt-shadow-sm:0 1px 2px #00000012;--dt-shadow-md:0 3px 6px #0000001a;--dt-shadow-lg:0 8px 24px #0000001f;--dt-glow-accent:#0969da14;--dt-glow-success:#1a7f3714;--dt-glow-danger:#cf222e14;--dt-glow-warning:#9a670014;--dt-glow-purple:#8250df14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--background:var(--dt-bg-primary);--foreground:var(--dt-text-primary);--card:var(--dt-bg-secondary);--card-foreground:var(--dt-text-primary);--popover:var(--dt-bg-tertiary);--popover-foreground:var(--dt-text-primary);--sidebar:var(--dt-bg-secondary);--sidebar-foreground:var(--dt-text-secondary);--muted:var(--dt-bg-tertiary);--muted-foreground:var(--dt-text-secondary);--primary:var(--dt-accent-fg);--primary-foreground:var(--dt-bg-primary);--secondary:var(--dt-bg-tertiary);--secondary-foreground:var(--dt-text-primary);--accent:var(--dt-accent-subtle);--accent-foreground:var(--dt-accent-fg);--destructive:var(--dt-danger-fg);--destructive-foreground:#fff;--border:var(--dt-border-default);--input:var(--dt-border-muted);--ring:var(--dt-accent-fg);--surface-elevated:var(--dt-bg-secondary);--hairline-strong:var(--dt-border-default);--overlay-scrim:#0006;--eyebrow-foreground:var(--dt-text-tertiary);--subtle-foreground:var(--dt-text-tertiary);--inverse-foreground:var(--dt-bg-primary);--foreground-surface:var(--dt-bg-primary);--info-surface:var(--dt-accent-subtle);--info-overlay-bg:color-mix(in srgb, var(--dt-bg-primary), transparent 8%);--info-overlay-foreground:var(--dt-text-primary);--metric-up:var(--dt-success-subtle);--metric-down:var(--dt-danger-subtle);--warning-surface:var(--dt-warning-subtle);--color-success:var(--dt-success-fg);--color-success-light:var(--dt-success-fg);--color-warning:var(--dt-warning-fg);--color-warning-light:var(--dt-warning-fg);--color-error:var(--dt-danger-fg);--color-error-light:var(--dt-danger-fg);--color-info:var(--dt-accent-fg);--color-info-light:var(--dt-accent-fg);--font-sans:var(--dt-font-sans);--font-mono:var(--dt-font-mono);--space-1:var(--dt-space-1);--space-2:var(--dt-space-2);--space-3:var(--dt-space-3);--space-4:var(--dt-space-4);--space-5:1.25rem;--space-6:var(--dt-space-6);--space-8:var(--dt-space-8);--space-10:2.5rem;--space-12:var(--dt-space-12);--space-16:var(--dt-space-16);--space-20:5rem;--space-24:6rem;--radius-sm:var(--dt-radius-sm);--radius-md:var(--dt-radius-md);--radius-xl:var(--dt-radius-xl);--radius-pill:9999px;--radius:var(--dt-radius-md);--radius-lg:var(--dt-radius-lg);--shadow-sm:var(--dt-shadow-sm);--transition-fast:var(--dt-transition-fast);--transition-normal:var(--dt-transition-normal);--transition-slow:.3s ease;--c4-person:var(--dt-accent-fg);--c4-system:var(--dt-accent-fg);--c4-container:var(--dt-accent-fg);--c4-component:var(--dt-accent-muted);--c4-database:var(--dt-success-fg);--c4-queue:var(--dt-warning-fg);--c4-external:var(--dt-text-tertiary);--c4-boundary-border:var(--dt-border-default)}*,:before,:after{box-sizing:border-box;transition:color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;line-height:1.5}.layout-full{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.layout-sidebar-left{grid-template:"header header""sidebar main"1fr"footer footer"/280px 1fr;min-height:100vh;display:grid}.layout-sidebar-right{grid-template:"header header""main sidebar"1fr"footer footer"/1fr 280px;min-height:100vh;display:grid}@media (width<=768px){.layout-sidebar-left,.layout-sidebar-right{grid-template-columns:1fr}}.react-flow__controls{background:color-mix(in srgb, var(--card), transparent 6%);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.react-flow__controls-button{border:none;border-bottom:1px solid var(--border);color:var(--foreground);fill:var(--foreground);background:0 0}.react-flow__controls-button:hover{background:var(--accent)}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button svg{fill:currentColor}.aikit-header,.aikit-toolbox-menu,.aikit-footer{--aikit-background:var(--background,var(--dt-bg-primary));--aikit-foreground:var(--foreground,var(--dt-text-primary));--aikit-muted:var(--muted,var(--dt-bg-secondary));--aikit-muted-foreground:var(--muted-foreground,var(--dt-text-secondary));--aikit-border:var(--border,var(--dt-border-default));--aikit-accent:var(--accent,var(--dt-accent-subtle));--aikit-accent-foreground:var(--accent-foreground,var(--dt-accent-fg));--aikit-card:var(--card,var(--dt-bg-secondary));--aikit-card-foreground:var(--card-foreground,var(--dt-text-primary))}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--dt-space-4);min-height:3.5rem;padding:var(--dt-space-2) var(--dt-space-4);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.aikit-header-brand,.aikit-header-actions{flex:none;min-width:0}.aikit-header-brand{color:var(--aikit-muted-foreground);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-sm);letter-spacing:.12em;text-transform:uppercase;align-items:center;font-weight:600;display:flex}.aikit-header-title{align-items:baseline;gap:var(--dt-space-2);flex:auto;justify-content:flex-start;min-width:0;min-height:0;display:flex}.aikit-header-title-text{min-width:0;color:var(--aikit-foreground);font-size:var(--dt-font-size-lg);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-weight:600;line-height:1.2;overflow:hidden}.aikit-header-subtitle{min-width:0;color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;line-height:1.2;overflow:hidden}.aikit-header-actions{justify-content:flex-end;align-items:center;gap:var(--dt-space-2);min-width:max-content;display:flex}.aikit-header-actions>*{flex:none}.aikit-toolbox{position:relative}.aikit-theme-toggle,.aikit-toolbox-toggle{border:1px solid var(--aikit-border);background:var(--aikit-card);width:2.5rem;height:2.5rem;color:var(--aikit-card-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast), transform var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aikit-theme-toggle:hover,.aikit-toolbox-toggle:hover{background:var(--aikit-muted)}.aikit-theme-toggle:focus-visible,.aikit-toolbox-toggle:focus-visible,.aikit-toolbox-item:focus-visible{outline:2px solid var(--aikit-accent-foreground);outline-offset:2px}.aikit-theme-toggle-icon{transition:opacity var(--dt-transition-normal), transform var(--dt-transition-normal);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.aikit-theme-toggle-icon--sun{opacity:1;transform:scale(1)rotate(0)}.aikit-theme-toggle-icon--moon{opacity:0;transform:scale(.65)rotate(-40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--moon{opacity:1;transform:scale(1)rotate(0)}.aikit-toolbox-menu{top:calc(100% + var(--dt-space-2));gap:var(--dt-space-1);min-width:11rem;padding:var(--dt-space-2);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-lg);background:var(--aikit-background);box-shadow:var(--dt-shadow-lg);z-index:120;display:grid;position:absolute;right:0}.aikit-toolbox-menu[hidden]{display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.5rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;display:inline-flex}.aikit-toolbox-item:hover{background:var(--aikit-muted);border-color:var(--aikit-border)}.aikit-toolbox-item svg{flex:none}.aikit-footer{justify-content:space-between;align-items:center;gap:var(--dt-space-3);padding:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);flex-wrap:wrap;margin-top:auto;display:flex}.aikit-footer-meta{align-items:center;gap:var(--dt-space-3);flex-wrap:wrap;flex:14rem;min-width:0;display:flex}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:var(--dt-space-2);display:inline-flex}.aikit-footer-badge{min-height:1.75rem;padding:0 var(--dt-space-2);border:1px solid var(--aikit-border);background:var(--aikit-muted);color:var(--aikit-accent-foreground);font-family:var(--dt-font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.aikit-footer-legend-item{align-items:center;gap:6px;display:inline-flex}.aikit-footer-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--dt-space-2);padding-left:var(--dt-space-3);padding-right:var(--dt-space-3)}.aikit-header-subtitle{display:none}.aikit-toolbox-menu{min-width:auto;max-width:calc(100vw - 2rem);left:auto;right:0}}@media (width<=400px){.aikit-header-actions{gap:var(--dt-space-1)}.aikit-footer{align-items:flex-start}.aikit-footer-meta{flex-basis:100%}.aikit-toolbox-menu{border-radius:.5rem .5rem 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 12px #00000026}}:root{--pf-node-start-end:var(--dt-process-start-end,#06b6d4);--pf-node-manual:var(--dt-process-manual,#10b981);--pf-node-automated:var(--dt-process-automated,#8b5cf6);--pf-node-integration:var(--dt-process-integration,#f59e0b);--pf-node-decision:var(--dt-process-decision,#f43f5e);--pf-node-prerequisite:var(--dt-process-prerequisite,#64748b);--pf-edge-standard:var(--dt-accent-fg);--pf-edge-loop-back:var(--dt-warning-fg);--pf-edge-exception:var(--dt-danger-fg)}.process-flow__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.process-flow__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.process-flow__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600}.process-flow__toolbar-button:hover,.process-flow__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.process-flow__canvas .react-flow__controls,.process-flow__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.process-flow__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.process-flow__canvas .react-flow__controls-button:last-child{border-bottom:none}.process-flow-node{min-width:224px;min-height:112px;position:relative}.process-flow-node__handle{opacity:0;pointer-events:none}.process-flow-node__frame{width:100%;height:100%;position:relative}.process-flow-node__surface,.process-flow-node__content{border-radius:var(--radius-lg);position:relative}.process-flow-node__surface{border:1px solid var(--pf-node-color);background:color-mix(in srgb, var(--pf-node-color), var(--card) 86%);position:absolute;inset:0}.process-flow-node__content{color:var(--card-foreground);gap:.45rem;padding:1rem 1rem .95rem;display:grid}.process-flow-node__eyebrow{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--pf-node-color), transparent 82%);width:fit-content;color:var(--pf-node-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.68rem;display:inline-flex}.process-flow-node__icon{font-size:.8rem;line-height:1}.process-flow-node__label{font-size:.95rem;font-weight:600;line-height:1.25}.process-flow-node__description{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.process-flow-node__metadata{gap:.35rem;display:grid}.process-flow-node__metadata-row{color:var(--muted-foreground);font-family:var(--font-mono);grid-template-columns:auto 1fr;align-items:baseline;gap:.3rem;font-size:.72rem;display:grid}.process-flow-node__metadata-row dt{text-transform:uppercase}.process-flow-node__metadata-row dd{color:var(--foreground);overflow-wrap:anywhere}.process-flow-node--start-end{--pf-node-color:var(--pf-node-start-end);min-width:236px;min-height:84px}.process-flow-node--start-end .process-flow-node__surface,.process-flow-node--start-end .process-flow-node__content{border-radius:var(--radius-pill)}.process-flow-node--manual{--pf-node-color:var(--pf-node-manual)}.process-flow-node--automated{--pf-node-color:var(--pf-node-automated)}.process-flow-node--integration{--pf-node-color:var(--pf-node-integration)}.process-flow-node--prerequisite{--pf-node-color:var(--pf-node-prerequisite)}.process-flow-node--prerequisite .process-flow-node__surface{background:color-mix(in srgb, var(--pf-node-prerequisite), var(--card) 92%);border-style:dashed;border-width:1.5px}.process-flow-node--decision{--pf-node-color:var(--pf-node-decision);min-width:176px;min-height:176px}.process-flow-node--decision .process-flow-node__surface{transform-origin:50%;border-radius:22px;inset:22px;transform:rotate(45deg)}.process-flow-node--decision .process-flow-node__content{text-align:center;align-content:center;justify-items:center;min-height:176px;padding:2.2rem 2.1rem}.process-flow-node--decision .process-flow-node__eyebrow{justify-self:center}.process-flow-node__decision-shadow{display:none}.process-flow-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.process-flow-edge__label--loop-back{color:var(--pf-edge-loop-back)}.process-flow-edge__label--exception{color:var(--pf-edge-exception)}@media (width<=768px){.process-flow__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}}:root{--tp-agent-researcher:#818cf8;--tp-agent-implementer:#34d399;--tp-agent-frontend:#f472b6;--tp-agent-reviewer:#fbbf24;--tp-agent-debugger:#f87171;--tp-agent-security:#fb923c;--tp-agent-explorer:#38bdf8;--tp-agent-documenter:#c084fc;--tp-agent-refactor:#2dd4bf;--tp-agent-planner:#c084fc;--tp-agent-orchestrator:#94a3b8;--tp-status-pending:#64748b;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-surface:color-mix(in srgb, var(--surface-elevated), var(--background) 22%);--tp-surface-elevated:color-mix(in srgb, var(--surface-elevated), white 4%);--tp-border:color-mix(in srgb, var(--border), transparent 8%);--tp-border-muted:color-mix(in srgb, var(--border), transparent 30%);--tp-text-muted:var(--muted-foreground);--tp-text-dim:color-mix(in srgb, var(--muted-foreground), transparent 22%);--tp-shadow:0 20px 50px color-mix(in srgb, var(--background), transparent 55%)}:root[data-theme=light]{--tp-surface:color-mix(in srgb, white 90%, var(--card));--tp-surface-elevated:color-mix(in srgb, white 82%, var(--surface-elevated));--tp-border-muted:color-mix(in srgb, var(--border), transparent 18%);--tp-shadow:0 16px 40px #94a3b82e}.task-plan__shell{padding:var(--space-6);position:relative}.task-plan__surface{gap:var(--space-6);border:1px solid var(--tp-border);border-radius:calc(var(--radius-xl) + 4px);background:radial-gradient(circle at top left, color-mix(in srgb, var(--tp-agent-researcher), transparent 88%), transparent 32%), radial-gradient(circle at bottom right, color-mix(in srgb, var(--tp-agent-refactor), transparent 90%), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--tp-surface), transparent 2%), color-mix(in srgb, var(--background), transparent 8%));min-height:calc(100vh - 13rem);box-shadow:var(--tp-shadow);flex-direction:column;padding:clamp(1rem,2vw,1.75rem);display:flex}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary), var(--tp-border) 30%);background:color-mix(in srgb, var(--tp-surface-elevated), var(--primary) 8%);outline:none;transform:translateY(-1px)}.task-plan__pipeline{flex-direction:column;gap:0;display:flex}.task-plan__phase-block,.task-plan-phase{flex-direction:column;display:flex}.task-plan-phase__content{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 2%);flex-direction:column;gap:1rem;padding:1.4rem 1.6rem;display:flex}.task-plan-phase__header{align-items:center;gap:.75rem;display:flex}.task-plan-phase__number{border:1.5px solid var(--tp-border);background:var(--tp-surface-elevated);width:1.8rem;height:1.8rem;color:var(--tp-text-muted);font-family:var(--font-mono);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.task-plan-phase__label{color:var(--foreground);flex:1;font-size:.95rem;font-weight:700;line-height:1.2}.task-plan-phase__badge{white-space:nowrap;border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:var(--tp-surface-elevated);color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:.22rem .62rem;font-size:.64rem}.task-plan-phase__outcome{border-bottom:1px solid var(--tp-border-muted);color:var(--tp-text-muted);padding-bottom:.75rem;font-size:.8rem;line-height:1.5}.task-plan-phase__batches{flex-direction:column;gap:.75rem;display:flex}.task-plan-batch{flex-direction:column;gap:.55rem;display:flex}.task-plan-batch+.task-plan-batch{border-top:1px dashed var(--tp-border-muted);margin-top:.15rem;padding-top:.85rem}.task-plan-batch__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.67rem;display:flex}.task-plan-batch__icon{opacity:.75;font-size:.9rem}.task-plan-batch__tasks{grid-template-columns:1fr;gap:.55rem;display:grid}.task-plan-batch__tasks--parallel{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.task-plan-task{border:1px solid var(--tp-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tp-surface-elevated), transparent 2%);flex-direction:column;gap:.45rem;padding:.9rem .95rem .95rem 1.15rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.task-plan-task:before{content:"";background:var(--card-accent);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-plan-task:hover{border-color:color-mix(in srgb, var(--card-accent), white 20%);box-shadow:0 10px 24px color-mix(in srgb, var(--background), transparent 72%);transform:translateY(-1px)}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--card-accent), transparent 82%);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.6rem;display:inline-flex}.task-plan-task__status{color:var(--status-color,var(--tp-status-pending));font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:.28rem;font-size:.61rem;display:inline-flex}.task-plan-task__status-dot{background:currentColor;border-radius:999px;width:6px;height:6px}.task-plan-task__description{color:var(--tp-text-muted);font-size:.78rem;line-height:1.48}.task-plan-task__meta{flex-wrap:wrap;gap:.35rem;margin-top:auto;display:flex}.task-plan-task__chip{border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--background), var(--tp-surface) 12%);max-width:100%;color:var(--tp-text-dim);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;padding:.14rem .42rem;font-size:.62rem;display:inline-flex;overflow:hidden}.task-plan__connector{justify-content:center;align-items:center;height:2.6rem;display:flex;position:relative}.task-plan__connector:before{content:"";background:repeating-linear-gradient(180deg, var(--tp-border) 0, var(--tp-border) 4px, transparent 4px, transparent 8px);width:2px;position:absolute;top:0;bottom:8px;left:50%;transform:translate(-50%)}.task-plan__connector:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--tp-border);width:0;height:0;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.task-plan__summary{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 1%);flex-wrap:wrap;gap:1.4rem;padding:1.15rem 1.4rem;display:flex}.task-plan-summary__stat{flex-direction:column;gap:.08rem;display:flex}.task-plan-summary__value{color:var(--foreground);font-size:1.45rem;font-weight:700;line-height:1.05}.task-plan-summary__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem}.task-plan__legend{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.task-plan__legend-title{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.task-plan__legend-item{color:var(--tp-text-muted);align-items:center;gap:.38rem;font-size:.74rem;display:inline-flex}.task-plan__legend-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.task-plan__legend-icon{margin-right:.25rem}.task-plan__empty{border:1px dashed var(--tp-border);border-radius:var(--radius-xl);min-height:18rem;color:var(--tp-text-muted);text-align:center;place-items:center;gap:.45rem;padding:2rem;display:grid}.task-plan__export-error{bottom:var(--space-4);z-index:2;border:1px solid color-mix(in srgb, var(--destructive), transparent 18%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--destructive), var(--card) 88%);color:var(--foreground);padding:.45rem .8rem;font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}@keyframes task-plan-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 65%);opacity:1}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:.75}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:1}}@media (width<=900px){.task-plan__shell{padding:var(--space-4)}.task-plan__toolbar{width:fit-content;margin-bottom:var(--space-3);margin-left:auto;position:static}}@media (width<=768px){.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__badge,.task-plan-task__status{white-space:normal}.task-plan__summary{gap:1rem}}@media (prefers-reduced-motion:reduce){.task-plan-task,.task-plan__toolbar-button,.task-plan-task__status-dot{transition:none;animation:none!important}}:root{--tp-agent-researcher:#6366f1;--tp-agent-implementer:#10b981;--tp-agent-frontend:#ec4899;--tp-agent-reviewer:#f59e0b;--tp-agent-debugger:#ef4444;--tp-agent-security:#f97316;--tp-agent-explorer:#06b6d4;--tp-agent-documenter:#8b5cf6;--tp-agent-refactor:#14b8a6;--tp-agent-planner:#a855f7;--tp-agent-orchestrator:#64748b;--tp-status-pending:#94a3b8;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 38%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 16%);--tp-phase-border:color-mix(in srgb, var(--border), var(--primary) 18%);--tp-phase-fill:color-mix(in srgb, var(--surface-elevated), transparent 8%);--tp-phase-muted:color-mix(in srgb, var(--muted-foreground), transparent 18%);--tp-card-fill:color-mix(in srgb, var(--card), transparent 3%);--tp-card-border:color-mix(in srgb, var(--border), transparent 10%)}:root[data-theme=light]{--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 48%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 4%);--tp-phase-fill:color-mix(in srgb, var(--card), white 18%);--tp-card-fill:color-mix(in srgb, white, var(--card) 72%)}.task-plan__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.task-plan__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.task-plan__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600;transition:border-color .18s,color .18s,transform .18s}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none;transform:translateY(-1px)}.task-plan__canvas .react-flow__controls,.task-plan__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.task-plan__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.task-plan__canvas .react-flow__controls-button:last-child{border-bottom:none}.task-plan__empty{z-index:4;border:1px dashed var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--card), transparent 8%);min-width:280px;color:var(--muted-foreground);text-align:center;gap:.4rem;padding:1rem 1.2rem;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.task-plan__empty strong{color:var(--foreground);font-size:.95rem}.task-plan-phase{width:100%;height:100%;position:relative}.task-plan-phase__surface{border:1px solid var(--tp-phase-border);border-radius:calc(var(--radius-xl) + 2px);background:var(--tp-phase-fill);position:absolute;inset:0}.task-plan-phase[data-terminal=false]:after{content:"";border-right:1px dashed var(--tp-edge-phase-boundary);position:absolute;top:1.75rem;bottom:1.75rem;right:1rem}.task-plan-phase__content{align-content:start;gap:.5rem;padding:1.2rem 1.2rem 1rem;display:grid;position:relative}.task-plan-phase__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.task-plan-phase__label{color:var(--foreground);font-size:1rem;font-weight:600;line-height:1.2}.task-plan-phase__counts{color:var(--tp-phase-muted);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.task-plan-phase__outcome{max-width:30ch;color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.task-plan-node__handle{opacity:0;pointer-events:none}.task-plan-task{width:100%;height:100%;transition:transform .18s,filter .18s;position:relative}.task-plan-task__frame{border:1px solid color-mix(in srgb, var(--tp-agent-color), var(--tp-card-border) 62%);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tp-agent-color), var(--tp-card-fill) 92%);width:100%;height:100%;color:var(--card-foreground);gap:.75rem;padding:1rem 1rem .95rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.task-plan-task:hover{transform:translateY(-2px)}.task-plan-task:hover .task-plan-task__frame{border-color:color-mix(in srgb, var(--tp-agent-color), white 10%);box-shadow:0 0 0 1px color-mix(in srgb, var(--tp-agent-color), transparent 72%)}.task-plan-task__topline{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.task-plan-task__agent{min-width:0;color:var(--tp-agent-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.71rem;font-weight:600;display:inline-flex}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--tp-agent-color), transparent 84%);border-radius:999px;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.72rem;display:inline-flex}.task-plan-task__agent-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-plan-task__status{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);color:var(--foreground);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35rem;padding:.24rem .55rem;font-size:.67rem;display:inline-flex}.task-plan-task__status[data-status=pending]{color:var(--tp-status-pending)}.task-plan-task__status[data-status=in-progress]{color:var(--tp-status-in-progress)}.task-plan-task__status[data-status=done]{color:var(--tp-status-done)}.task-plan-task__status[data-status=blocked]{color:var(--tp-status-blocked)}.task-plan-task__status-dot{background:currentColor;border-radius:999px;flex:none;width:.5rem;height:.5rem}.task-plan-task__status[data-status=in-progress] .task-plan-task__status-dot{animation:1.8s ease-in-out infinite task-plan-pulse}.task-plan-task__title{color:var(--foreground);font-size:.96rem;font-weight:700;line-height:1.28}.task-plan-task__meta{flex-wrap:wrap;gap:.42rem;display:flex}.task-plan-task__chip{border:1px solid color-mix(in srgb, var(--border), transparent 10%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 8%);color:var(--muted-foreground);font-family:var(--font-mono);align-items:center;gap:.25rem;padding:.24rem .5rem;font-size:.7rem;display:inline-flex}.task-plan-task__description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.81rem;line-height:1.48;display:-webkit-box;overflow:hidden}.task-plan-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.task-plan-edge__label--phase-boundary{color:var(--tp-edge-phase-boundary)}@media (width<=768px){.task-plan__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__counts{white-space:normal}}
|
|
1528
1529
|
/*$vite$:1*/</style>
|
|
1529
1530
|
</head>
|