@rashidee/co2 1.3.17 → 1.3.19
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/dist/index.js +75 -26
- package/package.json +1 -1
- package/plugin/.claude-plugin/marketplace.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/util-gencicdscript/SKILL.md +18 -23
- package/plugin/skills/util-gencicdscript/references/cicd-app-template.md +176 -141
- package/plugin/skills/util-plancicd/SKILL.md +319 -312
- package/static/assets/{abnfDiagram-VRR7QNED-kjS3baPt.js → abnfDiagram-VRR7QNED-cQAiKjYG.js} +1 -1
- package/static/assets/{arc-CXd0xnDj.js → arc-C4ZlEQ3S.js} +1 -1
- package/static/assets/{architectureDiagram-ZJ3FMSHR-5QfnAz_Q.js → architectureDiagram-ZJ3FMSHR-C_31NGnA.js} +1 -1
- package/static/assets/{blockDiagram-677ZJIJ3-ByICFNDb.js → blockDiagram-677ZJIJ3-DDQQ2PAJ.js} +1 -1
- package/static/assets/{c4Diagram-LMCZKHZV-C5a0Ubby.js → c4Diagram-LMCZKHZV-BPbCZxQJ.js} +1 -1
- package/static/assets/channel-CufY_jLp.js +1 -0
- package/static/assets/{chunk-2Q5K7J3B-UucADWxr.js → chunk-2Q5K7J3B-B3LoONkc.js} +1 -1
- package/static/assets/{chunk-32BRIVSS-WAe17d3N.js → chunk-32BRIVSS-Buim75a9.js} +1 -1
- package/static/assets/{chunk-5VM5RSS4-BQBMOb0f.js → chunk-5VM5RSS4-BjHqxxbw.js} +1 -1
- package/static/assets/{chunk-EX3LRPZG-BzaET0n4.js → chunk-EX3LRPZG-Dn0_qUTW.js} +1 -1
- package/static/assets/{chunk-JWPE2WC7-D_tBvbZg.js → chunk-JWPE2WC7-DpYEF0BV.js} +1 -1
- package/static/assets/{chunk-MOJQB5TN-CsYb9JBc.js → chunk-MOJQB5TN-CbNDWijQ.js} +1 -1
- package/static/assets/{chunk-RYQCIY6F-D5xRlnc7.js → chunk-RYQCIY6F-DOhXYkGG.js} +1 -1
- package/static/assets/{chunk-V7JOEXUC-y0cEgq6c.js → chunk-V7JOEXUC-CfASUuSJ.js} +1 -1
- package/static/assets/{chunk-VR4S4FIN-CSXJHPXT.js → chunk-VR4S4FIN-vgVNnFtp.js} +1 -1
- package/static/assets/{chunk-XXDRQBXY-QFNFGLYZ.js → chunk-XXDRQBXY-CVjoYUTB.js} +1 -1
- package/static/assets/classDiagram-OUVF2IWQ-CVQD_QZa.js +1 -0
- package/static/assets/classDiagram-v2-EOCWNBFH-CVQD_QZa.js +1 -0
- package/static/assets/{cose-bilkent-JH36ORCC-ValIntpZ.js → cose-bilkent-JH36ORCC-EqjuuBpY.js} +1 -1
- package/static/assets/{cynefin-VYW2F7L2-BgHVKyAR.js → cynefin-VYW2F7L2-DioyO_Cm.js} +1 -1
- package/static/assets/{cynefinDiagram-TSTJHNR4-LIZzpkLM.js → cynefinDiagram-TSTJHNR4-CuPa5A8w.js} +1 -1
- package/static/assets/{dagre-VKFMJZFB-DY9b36A5.js → dagre-VKFMJZFB-MIf1Dtbk.js} +1 -1
- package/static/assets/{diagram-FQU43EPY-aeuYUUxe.js → diagram-FQU43EPY-5OBJqg6R.js} +1 -1
- package/static/assets/{diagram-G47NLZAW-BWwcYYCF.js → diagram-G47NLZAW-B2ZGPKp3.js} +1 -1
- package/static/assets/{diagram-NH7WQ7WH-BObFlRPR.js → diagram-NH7WQ7WH-B5YEN-B-.js} +1 -1
- package/static/assets/{diagram-OA4YK3LP-BUnc8m1-.js → diagram-OA4YK3LP-BXg_CQ2m.js} +1 -1
- package/static/assets/{diagram-WEI45ONY-DsNxBIuJ.js → diagram-WEI45ONY-DVbqehF6.js} +1 -1
- package/static/assets/{ebnfDiagram-CCIWWBDH-DDL2Id1r.js → ebnfDiagram-CCIWWBDH-hmnXWJuZ.js} +1 -1
- package/static/assets/{erDiagram-Q63AITRT-DZZcG2QU.js → erDiagram-Q63AITRT-CLYATrvi.js} +1 -1
- package/static/assets/{flowDiagram-23GEKE2U-C6GvkBFb.js → flowDiagram-23GEKE2U-cs1YvuVH.js} +1 -1
- package/static/assets/{ganttDiagram-NO4QXBWP-C7ydCTnF.js → ganttDiagram-NO4QXBWP-CH5rfioY.js} +1 -1
- package/static/assets/{gitGraphDiagram-IHSO6WYX-C60P6bwf.js → gitGraphDiagram-IHSO6WYX-DjAOB5L7.js} +1 -1
- package/static/assets/{index-CfGMfAGO.js → index-B4Y8oBUt.js} +4 -4
- package/static/assets/{infoDiagram-FWYZ7A6U-CnH7Q2nX.js → infoDiagram-FWYZ7A6U-De2-PVxo.js} +1 -1
- package/static/assets/{ishikawaDiagram-FXEZZL3T-BNEvOQYX.js → ishikawaDiagram-FXEZZL3T-CDikxFR6.js} +1 -1
- package/static/assets/{journeyDiagram-5HDEW3XC-BOwGZTfX.js → journeyDiagram-5HDEW3XC-Bo6isp1w.js} +1 -1
- package/static/assets/{kanban-definition-HUTT4EX6-BEfHVl-l.js → kanban-definition-HUTT4EX6-jM1azdC7.js} +1 -1
- package/static/assets/{linear-BOHPNxBi.js → linear-CUk0_yzf.js} +1 -1
- package/static/assets/{mindmap-definition-LN4V7U3C-B84wfT_w.js → mindmap-definition-LN4V7U3C-l-cgg6PS.js} +1 -1
- package/static/assets/{pegDiagram-2B236MQR-BgEa7yRL.js → pegDiagram-2B236MQR-B-8nGU3G.js} +1 -1
- package/static/assets/{pieDiagram-ENE6RG2P-DgA9LQlc.js → pieDiagram-ENE6RG2P-Di1V86Ag.js} +1 -1
- package/static/assets/{quadrantDiagram-ABIIQ3AL-C5K_r0Mx.js → quadrantDiagram-ABIIQ3AL-BknVxapP.js} +1 -1
- package/static/assets/{railroadDiagram-RFXS5EU6-Ckh_mLXW.js → railroadDiagram-RFXS5EU6-D7Vohrlg.js} +1 -1
- package/static/assets/{requirementDiagram-TGXJPOKE-CtII7Obm.js → requirementDiagram-TGXJPOKE-BlFXj6Li.js} +1 -1
- package/static/assets/{sankeyDiagram-HTMAVEWB-DdkySwbL.js → sankeyDiagram-HTMAVEWB-Ck_A1wxA.js} +1 -1
- package/static/assets/{sequenceDiagram-DBY2YBRQ-DEIBg3kY.js → sequenceDiagram-DBY2YBRQ-D4mu07Ol.js} +1 -1
- package/static/assets/{sizeCapture-X5ZJPWSS-D2MM9f6M.js → sizeCapture-X5ZJPWSS-BwempBoZ.js} +1 -1
- package/static/assets/{stateDiagram-2N3HPSRC-DHmJsAte.js → stateDiagram-2N3HPSRC-DSh1YMwZ.js} +1 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-DrMkFhr2.js +1 -0
- package/static/assets/{swimlanes-5IMT3BWC-BBPvUQvZ.js → swimlanes-5IMT3BWC-4EE1KLA5.js} +2 -2
- package/static/assets/swimlanesDiagram-G3AALYLV-DoZQ3XaY.js +8 -0
- package/static/assets/{timeline-definition-FHXFAJF6-CG_Q0YTD.js → timeline-definition-FHXFAJF6-DVZepywq.js} +1 -1
- package/static/assets/{vennDiagram-L72KCM5P-DlFSe4is.js → vennDiagram-L72KCM5P-YqnYvNJT.js} +1 -1
- package/static/assets/{wardleyDiagram-EHGQE667-BTlvtp2f.js → wardleyDiagram-EHGQE667-Dc6PvPZE.js} +1 -1
- package/static/assets/{xychartDiagram-FW5EYKEG-Bm14zLxj.js → xychartDiagram-FW5EYKEG-DLbY5Kg1.js} +1 -1
- package/static/index.html +1 -1
- package/static/assets/channel-CrYjYK1f.js +0 -1
- package/static/assets/classDiagram-OUVF2IWQ-DoLCCqXD.js +0 -1
- package/static/assets/classDiagram-v2-EOCWNBFH-DoLCCqXD.js +0 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-B6sumoG6.js +0 -1
- package/static/assets/swimlanesDiagram-G3AALYLV-DH2ts1oT.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-VKFMJZFB-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-VKFMJZFB-MIf1Dtbk.js","assets/chunk-RYQCIY6F-DOhXYkGG.js","assets/graph-C9eacEi8.js","assets/map-Czzmt4hB.js","assets/layout-DEXfKzaS.js","assets/swimlanes-5IMT3BWC-4EE1KLA5.js","assets/cose-bilkent-JH36ORCC-EqjuuBpY.js","assets/cytoscape.esm-DTSO7Bv0.js","assets/c4Diagram-LMCZKHZV-BPbCZxQJ.js","assets/chunk-32BRIVSS-Buim75a9.js","assets/flowDiagram-23GEKE2U-cs1YvuVH.js","assets/chunk-5VM5RSS4-BjHqxxbw.js","assets/chunk-XXDRQBXY-CVjoYUTB.js","assets/chunk-VR4S4FIN-vgVNnFtp.js","assets/channel-CufY_jLp.js","assets/swimlanesDiagram-G3AALYLV-DoZQ3XaY.js","assets/erDiagram-Q63AITRT-CLYATrvi.js","assets/gitGraphDiagram-IHSO6WYX-DjAOB5L7.js","assets/chunk-2Q5K7J3B-B3LoONkc.js","assets/chunk-JWPE2WC7-DpYEF0BV.js","assets/cynefin-VYW2F7L2-DioyO_Cm.js","assets/ganttDiagram-NO4QXBWP-CH5rfioY.js","assets/linear-CUk0_yzf.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-FWYZ7A6U-De2-PVxo.js","assets/pieDiagram-ENE6RG2P-Di1V86Ag.js","assets/arc-C4ZlEQ3S.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-ABIIQ3AL-BknVxapP.js","assets/xychartDiagram-FW5EYKEG-DLbY5Kg1.js","assets/requirementDiagram-TGXJPOKE-BlFXj6Li.js","assets/sequenceDiagram-DBY2YBRQ-D4mu07Ol.js","assets/classDiagram-OUVF2IWQ-CVQD_QZa.js","assets/chunk-V7JOEXUC-CfASUuSJ.js","assets/classDiagram-v2-EOCWNBFH-CVQD_QZa.js","assets/stateDiagram-2N3HPSRC-DSh1YMwZ.js","assets/chunk-EX3LRPZG-Dn0_qUTW.js","assets/stateDiagram-v2-6OUMAXLB-DrMkFhr2.js","assets/journeyDiagram-5HDEW3XC-Bo6isp1w.js","assets/timeline-definition-FHXFAJF6-DVZepywq.js","assets/mindmap-definition-LN4V7U3C-l-cgg6PS.js","assets/kanban-definition-HUTT4EX6-jM1azdC7.js","assets/sankeyDiagram-HTMAVEWB-Ck_A1wxA.js","assets/diagram-NH7WQ7WH-B5YEN-B-.js","assets/diagram-WEI45ONY-DVbqehF6.js","assets/blockDiagram-677ZJIJ3-DDQQ2PAJ.js","assets/diagram-OA4YK3LP-BXg_CQ2m.js","assets/architectureDiagram-ZJ3FMSHR-C_31NGnA.js","assets/diagram-FQU43EPY-5OBJqg6R.js","assets/diagram-G47NLZAW-B2ZGPKp3.js","assets/wardleyDiagram-EHGQE667-Dc6PvPZE.js","assets/cynefinDiagram-TSTJHNR4-CuPa5A8w.js","assets/railroadDiagram-RFXS5EU6-D7Vohrlg.js","assets/chunk-MOJQB5TN-CbNDWijQ.js","assets/ebnfDiagram-CCIWWBDH-hmnXWJuZ.js","assets/abnfDiagram-VRR7QNED-cQAiKjYG.js","assets/pegDiagram-2B236MQR-B-8nGU3G.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var FU=Object.defineProperty;var PU=(e,t,r)=>t in e?FU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Xr=(e,t,r)=>PU(e,typeof t!="symbol"?t+"":t,r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();function Cc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fx={exports:{}},xh={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -457,8 +457,8 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error
|
|
|
457
457
|
L0,20`)},"requirement_arrow"),wme=M((e,t,r)=>{const i=_i(),{themeVariables:n}=i,{strokeWidth:a}=n;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
|
|
458
458
|
L20,10
|
|
459
459
|
M20,10
|
|
460
|
-
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),kme=M((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Ame=M((e,t,r)=>{const i=_i(),{themeVariables:n}=i,{strokeWidth:a}=n,l=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");l.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),l.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),l.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),l.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),Nme={extension:ome,composition:lme,aggregation:cme,dependency:ume,lollipop:dme,point:hme,circle:fme,cross:pme,barb:mme,barbNeo:gme,only_one:bme,zero_or_one:yme,one_or_more:xme,zero_or_more:_me,only_one_neo:Eme,zero_or_one_neo:Cme,one_or_more_neo:vme,zero_or_more_neo:Sme,requirement_arrow:Tme,requirement_contains:kme,requirement_arrow_neo:wme,requirement_contains_neo:Ame},Rme=sme,Lme={common:lp,getConfig:_i,insertCluster:wpe,insertEdge:ame,insertEdgeLabel:Qpe,insertMarkers:Rme,insertNode:s7,interpolateToCurve:Gw,labelHelper:Ot,log:$e,positionEdgeLabel:Jpe},jf={},u7=M(e=>{for(const t of e)jf[t.name]=t},"registerLayoutLoaders"),Ime=M(()=>{u7([{name:"dagre",loader:M(async()=>await Jt(()=>import("./dagre-VKFMJZFB-DY9b36A5.js"),__vite__mapDeps([0,1,2,3,4])),"loader")},{name:"swimlane",loader:M(async()=>await Jt(()=>import("./swimlanes-5IMT3BWC-BBPvUQvZ.js"),__vite__mapDeps([5,1,2,3])),"loader")},{name:"cose-bilkent",loader:M(async()=>await Jt(()=>import("./cose-bilkent-JH36ORCC-ValIntpZ.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");Ime();var u1e=M(async(e,t,r)=>{if(!(e.layoutAlgorithm in jf))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const f of e.nodes){const b=f.domId||f.id;f.domId=`${e.diagramId}-${b}`}const i=jf[e.layoutAlgorithm],n=await i.loader(),{theme:a,themeVariables:l}=e.config,{useGradient:s,gradientStart:c,gradientStop:u}=l,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),s){const f=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");f.append("svg:stop").attr("offset","0%").attr("stop-color",c).attr("stop-opacity",1),f.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return n.render(e,t,Lme,{algorithm:i.algorithm},r)},"render"),d1e=M((e="",{fallback:t="dagre"}={})=>{if(e in jf)return e;if(t in jf)return $e.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),hk="comm",d7="rule",h7="decl",Dme="@media",Ome="@import",Bme="@supports",Mme="@namespace",OE="@keyframes",f7="@layer",Fme="@scope",Pme=Math.abs,_f=String.fromCharCode;function p7(e){return e.trim()}function BE(e,t,r){return e.replace(t,r)}function Bu(e,t){return e.charCodeAt(t)|0}function ud(e,t,r){return e.slice(t,r)}function Ns(e){return e.length}function m7(e){return e.length}function Jm(e,t){return t.push(e),e}var O0=1,dd=1,g7=0,Ha=0,ji=0,Nd="";function fk(e,t,r,i,n,a,l,s){return{value:e,root:t,parent:r,type:i,props:n,children:a,line:O0,column:dd,length:l,return:"",siblings:s}}function jme(){return ji}function Ume(){return ji=Ha>0?Bu(Nd,--Ha):0,dd--,ji===10&&(dd=1,O0--),ji}function ns(){return ji=Ha<g7?Bu(Nd,Ha++):0,dd++,ji===10&&(dd=1,O0++),ji}function ll(){return Bu(Nd,Ha)}function Rg(){return Ha}function B0(e,t){return ud(Nd,e,t)}function Uf(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function $me(e){return O0=dd=1,g7=Ns(Nd=e),Ha=0,[]}function Hme(e){return Nd="",e}function V_(e){return p7(B0(Ha-1,ME(e===91?e+2:e===40?e+1:e)))}function zme(e){for(;(ji=ll())&&ji<33;)ns();return Uf(e)>2||Uf(ji)>3?"":" "}function qme(e,t){for(;--t&&ns()&&!(ji<48||ji>102||ji>57&&ji<65||ji>70&&ji<97););return B0(e,Rg()+(t<6&&ll()==32&&ns()==32))}function ME(e){for(;ns();)switch(ji){case e:return Ha;case 34:case 39:e!==34&&e!==39&&ME(ji);break;case 40:e===41&&ME(e);break;case 92:ns();break}return Ha}function Gme(e,t){for(;ns()&&e+ji!==57;)if(e+ji===84&&ll()===47)break;return"/*"+B0(t,Ha-1)+"*"+_f(e===47?e:ns())}function Wme(e){for(;!Uf(ll());)ns();return B0(e,Ha)}function Yme(e){return Hme(Lg("",null,null,null,[""],e=$me(e),0,[0],e))}function Lg(e,t,r,i,n,a,l,s,c){for(var u=0,h=0,f=l,b=0,g=0,v=0,C=1,y=1,x=1,E=0,S=0,T="",A=n,k=a,L=i,N=T;y;)switch(v=S,S=ns()){case 40:v!=108&&Bu(N,f-1)==58?(E++,N+="("):N+=V_(S);break;case 41:E--,N+=")";break;case 34:case 39:case 91:N+=V_(S);break;case 9:case 10:case 13:case 32:if(E>0){N+=_f(S);break}N+=zme(v);break;case 92:N+=qme(Rg()-1,7);continue;case 47:switch(ll()){case 42:case 47:Jm(Vme(Gme(ns(),Rg()),t,r,c),c),(Uf(v||1)==5||Uf(ll()||1)==5)&&Ns(N)&&ud(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*C:s[u++]=Ns(N)*x;case 125*C:case 59:case 0:if(E>0&&S){N+=_f(S);break}switch(S){case 0:case 125:y=0;case 59+h:x==-1&&(N=BE(N,/\f/g,"")),g>0&&(Ns(N)-f||C===0)&&Jm(g>32?K3(N+";",i,r,f-1,c):K3(BE(N," ","")+";",i,r,f-2,c),c);break;case 59:N+=";";default:if(Jm(L=X3(N,t,r,u,h,n,s,T,A=[],k=[],f,a),a),S===123)if(h===0)Lg(N,t,L,L,A,a,f,s,k);else{switch(b){case 99:if(Bu(N,3)===110)break;case 108:if(Bu(N,2)===97)break;default:h=0;case 100:case 109:case 115:}h?Lg(e,L,L,i&&Jm(X3(e,L,L,0,0,n,s,T,n,A=[],f,k),k),n,k,f,s,i?A:k):Lg(N,L,L,L,[""],k,0,s,k)}}u=h=g=0,C=x=1,T=N="",f=l;break;case 58:f=1+Ns(N),g=v;default:if(C<1){if(S==123)--C;else if(S==125&&C++==0&&Ume()==125)continue}switch(N+=_f(S),S*C){case 38:x=h>0?1:(N+="\f",-1);break;case 44:if(E>0)break;s[u++]=(Ns(N)-1)*x,x=1;break;case 64:ll()===45&&(N+=V_(ns())),b=ll(),h=f=Ns(T=N+=Wme(Rg())),S++;break;case 45:v===45&&Ns(N)==2&&(C=0)}}return a}function X3(e,t,r,i,n,a,l,s,c,u,h,f){for(var b=n-1,g=n===0?a:[""],v=m7(g),C=0,y=0,x=0;C<i;++C)for(var E=0,S=ud(e,b+1,b=Pme(y=l[C])),T=e;E<v;++E)(T=p7(y>0?g[E]+" "+S:BE(S,/&\f/g,g[E])))&&(c[x++]=T);return fk(e,t,r,n===0?d7:s,c,u,h,f)}function Vme(e,t,r,i){return fk(e,t,r,hk,_f(jme()),ud(e,2,-2),0,i)}function K3(e,t,r,i,n){return fk(e,t,r,h7,ud(e,0,i),ud(e,i+1,-1),i,n)}function FE(e,t){for(var r="",i=0;i<e.length;i++)r+=t(e[i],i,e,t)||"";return r}function Xme(e,t,r,i){switch(e.type){case f7:if(e.children.length)break;case Ome:case Mme:case h7:return e.return=e.return||e.value;case hk:return"";case OE:return e.return=e.value+"{"+FE(e.children,i)+"}";case d7:if(!Ns(e.value=e.props.join(",")))return""}return Ns(r=FE(e.children,i))?e.return=e.value+"{"+r+"}":""}function Kme(e){var t=m7(e);return function(r,i,n,a){for(var l="",s=0;s<t;s++)l+=e[s](r,i,n,a)||"";return l}}var b7="c4",Zme=M(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),Qme=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./c4Diagram-LMCZKHZV-C5a0Ubby.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:b7,diagram:e}},"loader"),Jme={id:b7,detector:Zme,loader:Qme},ege=Jme,y7="flowchart",tge=M((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),rge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-C6GvkBFb.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:y7,diagram:e}},"loader"),ige={id:y7,detector:tge,loader:rge},nge=ige,x7="flowchart-v2",age=M((e,t)=>{var r,i,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),sge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-C6GvkBFb.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:x7,diagram:e}},"loader"),oge={id:x7,detector:age,loader:sge},lge=oge,_7="swimlane",cge=M(e=>/^\s*swimlane-beta\b/.test(e),"detector"),uge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-G3AALYLV-DH2ts1oT.js");return{diagram:t}},__vite__mapDeps([15,10,11,12,13,9,14]));return{id:_7,diagram:e}},"loader"),dge={id:_7,detector:cge,loader:uge},hge=dge,E7="er",fge=M(e=>/^\s*erDiagram/.test(e),"detector"),pge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./erDiagram-Q63AITRT-DZZcG2QU.js");return{diagram:t}},__vite__mapDeps([16,12,13,14]));return{id:E7,diagram:e}},"loader"),mge={id:E7,detector:fge,loader:pge},gge=mge,C7="gitGraph",bge=M(e=>/^\s*gitGraph/.test(e),"detector"),yge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-IHSO6WYX-C60P6bwf.js");return{diagram:t}},__vite__mapDeps([17,18,19,20]));return{id:C7,diagram:e}},"loader"),xge={id:C7,detector:bge,loader:yge},_ge=xge,v7="gantt",Ege=M(e=>/^\s*gantt/.test(e),"detector"),Cge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ganttDiagram-NO4QXBWP-C7ydCTnF.js");return{diagram:t}},__vite__mapDeps([21,22,23,24]));return{id:v7,diagram:e}},"loader"),vge={id:v7,detector:Ege,loader:Cge},Sge=vge,S7="info",Tge=M(e=>/^\s*info/.test(e),"detector"),wge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./infoDiagram-FWYZ7A6U-CnH7Q2nX.js");return{diagram:t}},__vite__mapDeps([25,20]));return{id:S7,diagram:e}},"loader"),kge={id:S7,detector:Tge,loader:wge},T7="pie",Age=M(e=>/^\s*pie/.test(e),"detector"),Nge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./pieDiagram-ENE6RG2P-DgA9LQlc.js");return{diagram:t}},__vite__mapDeps([26,19,20,27,28,23]));return{id:T7,diagram:e}},"loader"),Rge={id:T7,detector:Age,loader:Nge},w7="quadrantChart",Lge=M(e=>/^\s*quadrantChart/.test(e),"detector"),Ige=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./quadrantDiagram-ABIIQ3AL-C5K_r0Mx.js");return{diagram:t}},__vite__mapDeps([29,22,23,24]));return{id:w7,diagram:e}},"loader"),Dge={id:w7,detector:Lge,loader:Ige},Oge=Dge,k7="xychart",Bge=M(e=>/^\s*xychart(-beta)?/.test(e),"detector"),Mge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./xychartDiagram-FW5EYKEG-Bm14zLxj.js");return{diagram:t}},__vite__mapDeps([30,23,28,22,24]));return{id:k7,diagram:e}},"loader"),Fge={id:k7,detector:Bge,loader:Mge},Pge=Fge,A7="requirement",jge=M(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),Uge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./requirementDiagram-TGXJPOKE-CtII7Obm.js");return{diagram:t}},__vite__mapDeps([31,12,13]));return{id:A7,diagram:e}},"loader"),$ge={id:A7,detector:jge,loader:Uge},Hge=$ge,N7="sequence",zge=M(e=>/^\s*sequenceDiagram/.test(e),"detector"),qge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./sequenceDiagram-DBY2YBRQ-DEIBg3kY.js");return{diagram:t}},__vite__mapDeps([32,18,9]));return{id:N7,diagram:e}},"loader"),Gge={id:N7,detector:zge,loader:qge},Wge=Gge,R7="class",Yge=M((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),Vge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./classDiagram-OUVF2IWQ-DoLCCqXD.js");return{diagram:t}},__vite__mapDeps([33,34,11,12,13,9]));return{id:R7,diagram:e}},"loader"),Xge={id:R7,detector:Yge,loader:Vge},Kge=Xge,L7="classDiagram",Zge=M((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),Qge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./classDiagram-v2-EOCWNBFH-DoLCCqXD.js");return{diagram:t}},__vite__mapDeps([35,34,11,12,13,9]));return{id:L7,diagram:e}},"loader"),Jge={id:L7,detector:Zge,loader:Qge},ebe=Jge,I7="state",tbe=M((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),rbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./stateDiagram-2N3HPSRC-DHmJsAte.js");return{diagram:t}},__vite__mapDeps([36,37,12,13,9,2,4,3]));return{id:I7,diagram:e}},"loader"),ibe={id:I7,detector:tbe,loader:rbe},nbe=ibe,D7="stateDiagram",abe=M((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),sbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-6OUMAXLB-B6sumoG6.js");return{diagram:t}},__vite__mapDeps([38,37,12,13,9]));return{id:D7,diagram:e}},"loader"),obe={id:D7,detector:abe,loader:sbe},lbe=obe,O7="journey",cbe=M(e=>/^\s*journey/.test(e),"detector"),ube=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./journeyDiagram-5HDEW3XC-BOwGZTfX.js");return{diagram:t}},__vite__mapDeps([39,11,9,27]));return{id:O7,diagram:e}},"loader"),dbe={id:O7,detector:cbe,loader:ube},hbe=dbe,fbe=M((e,t,r)=>{$e.debug(`rendering svg for syntax error
|
|
461
|
-
`);const i=Hue(t),n=i.append("g");i.attr("viewBox","0 0 2412 512"),d6(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),B7={draw:fbe},pbe=B7,mbe={db:{},renderer:B7,parser:{parse:M(()=>{},"parse")}},gbe=mbe,M7="flowchart-elk",bbe=M((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),ybe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-C6GvkBFb.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:M7,diagram:e}},"loader"),xbe={id:M7,detector:bbe,loader:ybe},_be=xbe,F7="timeline",Ebe=M(e=>/^\s*timeline/.test(e),"detector"),Cbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./timeline-definition-FHXFAJF6-CG_Q0YTD.js");return{diagram:t}},__vite__mapDeps([40,27]));return{id:F7,diagram:e}},"loader"),vbe={id:F7,detector:Ebe,loader:Cbe},Sbe=vbe,P7="mindmap",Tbe=M(e=>/^\s*mindmap/.test(e),"detector"),wbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./mindmap-definition-LN4V7U3C-B84wfT_w.js");return{diagram:t}},__vite__mapDeps([41,12,13]));return{id:P7,diagram:e}},"loader"),kbe={id:P7,detector:Tbe,loader:wbe},Abe=kbe,j7="kanban",Nbe=M(e=>/^\s*kanban/.test(e),"detector"),Rbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./kanban-definition-HUTT4EX6-BEfHVl-l.js");return{diagram:t}},__vite__mapDeps([42,11]));return{id:j7,diagram:e}},"loader"),Lbe={id:j7,detector:Nbe,loader:Rbe},Ibe=Lbe,U7="sankey",Dbe=M(e=>/^\s*sankey(-beta)?/.test(e),"detector"),Obe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./sankeyDiagram-HTMAVEWB-DdkySwbL.js");return{diagram:t}},__vite__mapDeps([43,28,23]));return{id:U7,diagram:e}},"loader"),Bbe={id:U7,detector:Dbe,loader:Obe},Mbe=Bbe,$7="packet",Fbe=M(e=>/^\s*packet(-beta)?/.test(e),"detector"),Pbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-NH7WQ7WH-BObFlRPR.js");return{diagram:t}},__vite__mapDeps([44,19,20]));return{id:$7,diagram:e}},"loader"),jbe={id:$7,detector:Fbe,loader:Pbe},H7="radar",Ube=M(e=>/^\s*radar-beta/.test(e),"detector"),$be=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-WEI45ONY-DsNxBIuJ.js");return{diagram:t}},__vite__mapDeps([45,19,20]));return{id:H7,diagram:e}},"loader"),Hbe={id:H7,detector:Ube,loader:$be},z7="block",zbe=M(e=>/^\s*block(-beta)?/.test(e),"detector"),qbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./blockDiagram-677ZJIJ3-ByICFNDb.js");return{diagram:t}},__vite__mapDeps([46,11,2,14]));return{id:z7,diagram:e}},"loader"),Gbe={id:z7,detector:zbe,loader:qbe},Wbe=Gbe,q7="treeView",Ybe=M(e=>/^\s*treeView-beta/.test(e),"detector"),Vbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-OA4YK3LP-BUnc8m1-.js");return{diagram:t}},__vite__mapDeps([47,18,19,20]));return{id:q7,diagram:e}},"loader"),Xbe={id:q7,detector:Ybe,loader:Vbe},Kbe=Xbe,G7="architecture",Zbe=M(e=>/^\s*architecture/.test(e),"detector"),Qbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./architectureDiagram-ZJ3FMSHR-5QfnAz_Q.js");return{diagram:t}},__vite__mapDeps([48,19,20,7]));return{id:G7,diagram:e}},"loader"),Jbe={id:G7,detector:Zbe,loader:Qbe},e0e=Jbe,W7="eventmodeling",t0e=M(e=>/^\s*eventmodeling/.test(e),"detector"),r0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-FQU43EPY-aeuYUUxe.js");return{diagram:t}},__vite__mapDeps([49,19,20]));return{id:W7,diagram:e}},"loader"),i0e={id:W7,detector:t0e,loader:r0e},n0e=i0e,Y7="ishikawa",a0e=M(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),s0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-FXEZZL3T-BNEvOQYX.js");return{diagram:t}},[]);return{id:Y7,diagram:e}},"loader"),o0e={id:Y7,detector:a0e,loader:s0e},V7="venn",l0e=M(e=>/^\s*venn-beta/.test(e),"detector"),c0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./vennDiagram-L72KCM5P-DlFSe4is.js");return{diagram:t}},[]);return{id:V7,diagram:e}},"loader"),u0e={id:V7,detector:l0e,loader:c0e},d0e=u0e,X7="treemap",h0e=M(e=>/^\s*treemap/.test(e),"detector"),f0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-G47NLZAW-BWwcYYCF.js");return{diagram:t}},__vite__mapDeps([50,19,13,20,24,28,23]));return{id:X7,diagram:e}},"loader"),p0e={id:X7,detector:h0e,loader:f0e},K7="wardley",m0e=M(e=>/^\s*wardley-beta/i.test(e),"detector"),g0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./wardleyDiagram-EHGQE667-BTlvtp2f.js");return{diagram:t}},__vite__mapDeps([51,19,20]));return{id:K7,diagram:e}},"loader"),b0e={id:K7,detector:m0e,loader:g0e},y0e=b0e,Z7="cynefin",x0e=M(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),_0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./cynefinDiagram-TSTJHNR4-LIZzpkLM.js");return{diagram:t}},__vite__mapDeps([52,19,20]));return{id:Z7,diagram:e}},"loader"),E0e={id:Z7,detector:x0e,loader:_0e},Q7="railroad",C0e=M(e=>/^\s*railroad-beta/i.test(e),"detector"),v0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./railroadDiagram-RFXS5EU6-Ckh_mLXW.js");return{diagram:t}},__vite__mapDeps([53,54,19,20]));return{id:Q7,diagram:e}},"loader"),S0e={id:Q7,detector:C0e,loader:v0e},J7="railroadEbnf",T0e=M(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),w0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ebnfDiagram-CCIWWBDH-DDL2Id1r.js");return{diagram:t}},__vite__mapDeps([55,54,19,20]));return{id:J7,diagram:e}},"loader"),k0e={id:J7,detector:T0e,loader:w0e},e9="railroadAbnf",A0e=M(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),N0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./abnfDiagram-VRR7QNED-kjS3baPt.js");return{diagram:t}},__vite__mapDeps([56,54,19,20]));return{id:e9,diagram:e}},"loader"),R0e={id:e9,detector:A0e,loader:N0e},t9="railroadPeg",L0e=M(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),I0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./pegDiagram-2B236MQR-BgEa7yRL.js");return{diagram:t}},__vite__mapDeps([57,54,19,20]));return{id:t9,diagram:e}},"loader"),D0e={id:t9,detector:L0e,loader:I0e},Z3=!1,M0=M(()=>{Z3||(Z3=!0,nb("error",gbe,e=>e.toLowerCase().trim()==="error"),nb("---",{db:{clear:M(()=>{},"clear")},styles:{},renderer:{draw:M(()=>{},"draw")},parser:{parse:M(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:M(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),z1(_be,Abe,e0e),z1(ege,Ibe,ebe,Kge,gge,Sge,kge,Rge,Hge,Wge,hge,lge,nge,Sbe,_ge,lbe,nbe,hbe,Oge,Mbe,jbe,Pge,Wbe,n0e,Kbe,Hbe,o0e,p0e,S0e,k0e,R0e,D0e,d0e,y0e,E0e))},"addDiagrams"),O0e=M(async()=>{$e.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(gc).map(async([r,{detector:i,loader:n}])=>{if(n)try{Y1(r)}catch{try{const{diagram:a,id:l}=await n();nb(l,a,i)}catch(a){throw $e.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete gc[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){$e.error(`Failed to load ${t.length} external diagrams`);for(const r of t)$e.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),B0e="graphics-document document";function r9(e,t){e.attr("role",B0e),t!==""&&e.attr("aria-roledescription",t)}M(r9,"setA11yDiagramInfo");function i9(e,t,r,i){if(e.insert!==void 0){if(r){const n=`chart-desc-${i}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){const n=`chart-title-${i}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}M(i9,"addSVGa11yTitleDescription");var lc,PE=(lc=class{constructor(t,r,i,n,a){this.type=t,this.text=r,this.db=i,this.parser=n,this.renderer=a}static async fromText(t,r={}){var u,h;const i=_i(),n=mw(t,i);t=Vhe(t)+`
|
|
460
|
+
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),kme=M((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Ame=M((e,t,r)=>{const i=_i(),{themeVariables:n}=i,{strokeWidth:a}=n,l=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");l.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),l.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),l.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),l.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),Nme={extension:ome,composition:lme,aggregation:cme,dependency:ume,lollipop:dme,point:hme,circle:fme,cross:pme,barb:mme,barbNeo:gme,only_one:bme,zero_or_one:yme,one_or_more:xme,zero_or_more:_me,only_one_neo:Eme,zero_or_one_neo:Cme,one_or_more_neo:vme,zero_or_more_neo:Sme,requirement_arrow:Tme,requirement_contains:kme,requirement_arrow_neo:wme,requirement_contains_neo:Ame},Rme=sme,Lme={common:lp,getConfig:_i,insertCluster:wpe,insertEdge:ame,insertEdgeLabel:Qpe,insertMarkers:Rme,insertNode:s7,interpolateToCurve:Gw,labelHelper:Ot,log:$e,positionEdgeLabel:Jpe},jf={},u7=M(e=>{for(const t of e)jf[t.name]=t},"registerLayoutLoaders"),Ime=M(()=>{u7([{name:"dagre",loader:M(async()=>await Jt(()=>import("./dagre-VKFMJZFB-MIf1Dtbk.js"),__vite__mapDeps([0,1,2,3,4])),"loader")},{name:"swimlane",loader:M(async()=>await Jt(()=>import("./swimlanes-5IMT3BWC-4EE1KLA5.js"),__vite__mapDeps([5,1,2,3])),"loader")},{name:"cose-bilkent",loader:M(async()=>await Jt(()=>import("./cose-bilkent-JH36ORCC-EqjuuBpY.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");Ime();var u1e=M(async(e,t,r)=>{if(!(e.layoutAlgorithm in jf))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const f of e.nodes){const b=f.domId||f.id;f.domId=`${e.diagramId}-${b}`}const i=jf[e.layoutAlgorithm],n=await i.loader(),{theme:a,themeVariables:l}=e.config,{useGradient:s,gradientStart:c,gradientStop:u}=l,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),s){const f=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");f.append("svg:stop").attr("offset","0%").attr("stop-color",c).attr("stop-opacity",1),f.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return n.render(e,t,Lme,{algorithm:i.algorithm},r)},"render"),d1e=M((e="",{fallback:t="dagre"}={})=>{if(e in jf)return e;if(t in jf)return $e.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),hk="comm",d7="rule",h7="decl",Dme="@media",Ome="@import",Bme="@supports",Mme="@namespace",OE="@keyframes",f7="@layer",Fme="@scope",Pme=Math.abs,_f=String.fromCharCode;function p7(e){return e.trim()}function BE(e,t,r){return e.replace(t,r)}function Bu(e,t){return e.charCodeAt(t)|0}function ud(e,t,r){return e.slice(t,r)}function Ns(e){return e.length}function m7(e){return e.length}function Jm(e,t){return t.push(e),e}var O0=1,dd=1,g7=0,Ha=0,ji=0,Nd="";function fk(e,t,r,i,n,a,l,s){return{value:e,root:t,parent:r,type:i,props:n,children:a,line:O0,column:dd,length:l,return:"",siblings:s}}function jme(){return ji}function Ume(){return ji=Ha>0?Bu(Nd,--Ha):0,dd--,ji===10&&(dd=1,O0--),ji}function ns(){return ji=Ha<g7?Bu(Nd,Ha++):0,dd++,ji===10&&(dd=1,O0++),ji}function ll(){return Bu(Nd,Ha)}function Rg(){return Ha}function B0(e,t){return ud(Nd,e,t)}function Uf(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function $me(e){return O0=dd=1,g7=Ns(Nd=e),Ha=0,[]}function Hme(e){return Nd="",e}function V_(e){return p7(B0(Ha-1,ME(e===91?e+2:e===40?e+1:e)))}function zme(e){for(;(ji=ll())&&ji<33;)ns();return Uf(e)>2||Uf(ji)>3?"":" "}function qme(e,t){for(;--t&&ns()&&!(ji<48||ji>102||ji>57&&ji<65||ji>70&&ji<97););return B0(e,Rg()+(t<6&&ll()==32&&ns()==32))}function ME(e){for(;ns();)switch(ji){case e:return Ha;case 34:case 39:e!==34&&e!==39&&ME(ji);break;case 40:e===41&&ME(e);break;case 92:ns();break}return Ha}function Gme(e,t){for(;ns()&&e+ji!==57;)if(e+ji===84&&ll()===47)break;return"/*"+B0(t,Ha-1)+"*"+_f(e===47?e:ns())}function Wme(e){for(;!Uf(ll());)ns();return B0(e,Ha)}function Yme(e){return Hme(Lg("",null,null,null,[""],e=$me(e),0,[0],e))}function Lg(e,t,r,i,n,a,l,s,c){for(var u=0,h=0,f=l,b=0,g=0,v=0,C=1,y=1,x=1,E=0,S=0,T="",A=n,k=a,L=i,N=T;y;)switch(v=S,S=ns()){case 40:v!=108&&Bu(N,f-1)==58?(E++,N+="("):N+=V_(S);break;case 41:E--,N+=")";break;case 34:case 39:case 91:N+=V_(S);break;case 9:case 10:case 13:case 32:if(E>0){N+=_f(S);break}N+=zme(v);break;case 92:N+=qme(Rg()-1,7);continue;case 47:switch(ll()){case 42:case 47:Jm(Vme(Gme(ns(),Rg()),t,r,c),c),(Uf(v||1)==5||Uf(ll()||1)==5)&&Ns(N)&&ud(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*C:s[u++]=Ns(N)*x;case 125*C:case 59:case 0:if(E>0&&S){N+=_f(S);break}switch(S){case 0:case 125:y=0;case 59+h:x==-1&&(N=BE(N,/\f/g,"")),g>0&&(Ns(N)-f||C===0)&&Jm(g>32?K3(N+";",i,r,f-1,c):K3(BE(N," ","")+";",i,r,f-2,c),c);break;case 59:N+=";";default:if(Jm(L=X3(N,t,r,u,h,n,s,T,A=[],k=[],f,a),a),S===123)if(h===0)Lg(N,t,L,L,A,a,f,s,k);else{switch(b){case 99:if(Bu(N,3)===110)break;case 108:if(Bu(N,2)===97)break;default:h=0;case 100:case 109:case 115:}h?Lg(e,L,L,i&&Jm(X3(e,L,L,0,0,n,s,T,n,A=[],f,k),k),n,k,f,s,i?A:k):Lg(N,L,L,L,[""],k,0,s,k)}}u=h=g=0,C=x=1,T=N="",f=l;break;case 58:f=1+Ns(N),g=v;default:if(C<1){if(S==123)--C;else if(S==125&&C++==0&&Ume()==125)continue}switch(N+=_f(S),S*C){case 38:x=h>0?1:(N+="\f",-1);break;case 44:if(E>0)break;s[u++]=(Ns(N)-1)*x,x=1;break;case 64:ll()===45&&(N+=V_(ns())),b=ll(),h=f=Ns(T=N+=Wme(Rg())),S++;break;case 45:v===45&&Ns(N)==2&&(C=0)}}return a}function X3(e,t,r,i,n,a,l,s,c,u,h,f){for(var b=n-1,g=n===0?a:[""],v=m7(g),C=0,y=0,x=0;C<i;++C)for(var E=0,S=ud(e,b+1,b=Pme(y=l[C])),T=e;E<v;++E)(T=p7(y>0?g[E]+" "+S:BE(S,/&\f/g,g[E])))&&(c[x++]=T);return fk(e,t,r,n===0?d7:s,c,u,h,f)}function Vme(e,t,r,i){return fk(e,t,r,hk,_f(jme()),ud(e,2,-2),0,i)}function K3(e,t,r,i,n){return fk(e,t,r,h7,ud(e,0,i),ud(e,i+1,-1),i,n)}function FE(e,t){for(var r="",i=0;i<e.length;i++)r+=t(e[i],i,e,t)||"";return r}function Xme(e,t,r,i){switch(e.type){case f7:if(e.children.length)break;case Ome:case Mme:case h7:return e.return=e.return||e.value;case hk:return"";case OE:return e.return=e.value+"{"+FE(e.children,i)+"}";case d7:if(!Ns(e.value=e.props.join(",")))return""}return Ns(r=FE(e.children,i))?e.return=e.value+"{"+r+"}":""}function Kme(e){var t=m7(e);return function(r,i,n,a){for(var l="",s=0;s<t;s++)l+=e[s](r,i,n,a)||"";return l}}var b7="c4",Zme=M(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),Qme=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./c4Diagram-LMCZKHZV-BPbCZxQJ.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:b7,diagram:e}},"loader"),Jme={id:b7,detector:Zme,loader:Qme},ege=Jme,y7="flowchart",tge=M((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),rge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-cs1YvuVH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:y7,diagram:e}},"loader"),ige={id:y7,detector:tge,loader:rge},nge=ige,x7="flowchart-v2",age=M((e,t)=>{var r,i,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),sge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-cs1YvuVH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:x7,diagram:e}},"loader"),oge={id:x7,detector:age,loader:sge},lge=oge,_7="swimlane",cge=M(e=>/^\s*swimlane-beta\b/.test(e),"detector"),uge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-G3AALYLV-DoZQ3XaY.js");return{diagram:t}},__vite__mapDeps([15,10,11,12,13,9,14]));return{id:_7,diagram:e}},"loader"),dge={id:_7,detector:cge,loader:uge},hge=dge,E7="er",fge=M(e=>/^\s*erDiagram/.test(e),"detector"),pge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./erDiagram-Q63AITRT-CLYATrvi.js");return{diagram:t}},__vite__mapDeps([16,12,13,14]));return{id:E7,diagram:e}},"loader"),mge={id:E7,detector:fge,loader:pge},gge=mge,C7="gitGraph",bge=M(e=>/^\s*gitGraph/.test(e),"detector"),yge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-IHSO6WYX-DjAOB5L7.js");return{diagram:t}},__vite__mapDeps([17,18,19,20]));return{id:C7,diagram:e}},"loader"),xge={id:C7,detector:bge,loader:yge},_ge=xge,v7="gantt",Ege=M(e=>/^\s*gantt/.test(e),"detector"),Cge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ganttDiagram-NO4QXBWP-CH5rfioY.js");return{diagram:t}},__vite__mapDeps([21,22,23,24]));return{id:v7,diagram:e}},"loader"),vge={id:v7,detector:Ege,loader:Cge},Sge=vge,S7="info",Tge=M(e=>/^\s*info/.test(e),"detector"),wge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./infoDiagram-FWYZ7A6U-De2-PVxo.js");return{diagram:t}},__vite__mapDeps([25,20]));return{id:S7,diagram:e}},"loader"),kge={id:S7,detector:Tge,loader:wge},T7="pie",Age=M(e=>/^\s*pie/.test(e),"detector"),Nge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./pieDiagram-ENE6RG2P-Di1V86Ag.js");return{diagram:t}},__vite__mapDeps([26,19,20,27,28,23]));return{id:T7,diagram:e}},"loader"),Rge={id:T7,detector:Age,loader:Nge},w7="quadrantChart",Lge=M(e=>/^\s*quadrantChart/.test(e),"detector"),Ige=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./quadrantDiagram-ABIIQ3AL-BknVxapP.js");return{diagram:t}},__vite__mapDeps([29,22,23,24]));return{id:w7,diagram:e}},"loader"),Dge={id:w7,detector:Lge,loader:Ige},Oge=Dge,k7="xychart",Bge=M(e=>/^\s*xychart(-beta)?/.test(e),"detector"),Mge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./xychartDiagram-FW5EYKEG-DLbY5Kg1.js");return{diagram:t}},__vite__mapDeps([30,23,28,22,24]));return{id:k7,diagram:e}},"loader"),Fge={id:k7,detector:Bge,loader:Mge},Pge=Fge,A7="requirement",jge=M(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),Uge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./requirementDiagram-TGXJPOKE-BlFXj6Li.js");return{diagram:t}},__vite__mapDeps([31,12,13]));return{id:A7,diagram:e}},"loader"),$ge={id:A7,detector:jge,loader:Uge},Hge=$ge,N7="sequence",zge=M(e=>/^\s*sequenceDiagram/.test(e),"detector"),qge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./sequenceDiagram-DBY2YBRQ-D4mu07Ol.js");return{diagram:t}},__vite__mapDeps([32,18,9]));return{id:N7,diagram:e}},"loader"),Gge={id:N7,detector:zge,loader:qge},Wge=Gge,R7="class",Yge=M((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),Vge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./classDiagram-OUVF2IWQ-CVQD_QZa.js");return{diagram:t}},__vite__mapDeps([33,34,11,12,13,9]));return{id:R7,diagram:e}},"loader"),Xge={id:R7,detector:Yge,loader:Vge},Kge=Xge,L7="classDiagram",Zge=M((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),Qge=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./classDiagram-v2-EOCWNBFH-CVQD_QZa.js");return{diagram:t}},__vite__mapDeps([35,34,11,12,13,9]));return{id:L7,diagram:e}},"loader"),Jge={id:L7,detector:Zge,loader:Qge},ebe=Jge,I7="state",tbe=M((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),rbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./stateDiagram-2N3HPSRC-DSh1YMwZ.js");return{diagram:t}},__vite__mapDeps([36,37,12,13,9,2,4,3]));return{id:I7,diagram:e}},"loader"),ibe={id:I7,detector:tbe,loader:rbe},nbe=ibe,D7="stateDiagram",abe=M((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),sbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-6OUMAXLB-DrMkFhr2.js");return{diagram:t}},__vite__mapDeps([38,37,12,13,9]));return{id:D7,diagram:e}},"loader"),obe={id:D7,detector:abe,loader:sbe},lbe=obe,O7="journey",cbe=M(e=>/^\s*journey/.test(e),"detector"),ube=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./journeyDiagram-5HDEW3XC-Bo6isp1w.js");return{diagram:t}},__vite__mapDeps([39,11,9,27]));return{id:O7,diagram:e}},"loader"),dbe={id:O7,detector:cbe,loader:ube},hbe=dbe,fbe=M((e,t,r)=>{$e.debug(`rendering svg for syntax error
|
|
461
|
+
`);const i=Hue(t),n=i.append("g");i.attr("viewBox","0 0 2412 512"),d6(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),B7={draw:fbe},pbe=B7,mbe={db:{},renderer:B7,parser:{parse:M(()=>{},"parse")}},gbe=mbe,M7="flowchart-elk",bbe=M((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),ybe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./flowDiagram-23GEKE2U-cs1YvuVH.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([10,11,12,13,9,14]));return{id:M7,diagram:e}},"loader"),xbe={id:M7,detector:bbe,loader:ybe},_be=xbe,F7="timeline",Ebe=M(e=>/^\s*timeline/.test(e),"detector"),Cbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./timeline-definition-FHXFAJF6-DVZepywq.js");return{diagram:t}},__vite__mapDeps([40,27]));return{id:F7,diagram:e}},"loader"),vbe={id:F7,detector:Ebe,loader:Cbe},Sbe=vbe,P7="mindmap",Tbe=M(e=>/^\s*mindmap/.test(e),"detector"),wbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./mindmap-definition-LN4V7U3C-l-cgg6PS.js");return{diagram:t}},__vite__mapDeps([41,12,13]));return{id:P7,diagram:e}},"loader"),kbe={id:P7,detector:Tbe,loader:wbe},Abe=kbe,j7="kanban",Nbe=M(e=>/^\s*kanban/.test(e),"detector"),Rbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./kanban-definition-HUTT4EX6-jM1azdC7.js");return{diagram:t}},__vite__mapDeps([42,11]));return{id:j7,diagram:e}},"loader"),Lbe={id:j7,detector:Nbe,loader:Rbe},Ibe=Lbe,U7="sankey",Dbe=M(e=>/^\s*sankey(-beta)?/.test(e),"detector"),Obe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./sankeyDiagram-HTMAVEWB-Ck_A1wxA.js");return{diagram:t}},__vite__mapDeps([43,28,23]));return{id:U7,diagram:e}},"loader"),Bbe={id:U7,detector:Dbe,loader:Obe},Mbe=Bbe,$7="packet",Fbe=M(e=>/^\s*packet(-beta)?/.test(e),"detector"),Pbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-NH7WQ7WH-B5YEN-B-.js");return{diagram:t}},__vite__mapDeps([44,19,20]));return{id:$7,diagram:e}},"loader"),jbe={id:$7,detector:Fbe,loader:Pbe},H7="radar",Ube=M(e=>/^\s*radar-beta/.test(e),"detector"),$be=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-WEI45ONY-DVbqehF6.js");return{diagram:t}},__vite__mapDeps([45,19,20]));return{id:H7,diagram:e}},"loader"),Hbe={id:H7,detector:Ube,loader:$be},z7="block",zbe=M(e=>/^\s*block(-beta)?/.test(e),"detector"),qbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./blockDiagram-677ZJIJ3-DDQQ2PAJ.js");return{diagram:t}},__vite__mapDeps([46,11,2,14]));return{id:z7,diagram:e}},"loader"),Gbe={id:z7,detector:zbe,loader:qbe},Wbe=Gbe,q7="treeView",Ybe=M(e=>/^\s*treeView-beta/.test(e),"detector"),Vbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-OA4YK3LP-BXg_CQ2m.js");return{diagram:t}},__vite__mapDeps([47,18,19,20]));return{id:q7,diagram:e}},"loader"),Xbe={id:q7,detector:Ybe,loader:Vbe},Kbe=Xbe,G7="architecture",Zbe=M(e=>/^\s*architecture/.test(e),"detector"),Qbe=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./architectureDiagram-ZJ3FMSHR-C_31NGnA.js");return{diagram:t}},__vite__mapDeps([48,19,20,7]));return{id:G7,diagram:e}},"loader"),Jbe={id:G7,detector:Zbe,loader:Qbe},e0e=Jbe,W7="eventmodeling",t0e=M(e=>/^\s*eventmodeling/.test(e),"detector"),r0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-FQU43EPY-5OBJqg6R.js");return{diagram:t}},__vite__mapDeps([49,19,20]));return{id:W7,diagram:e}},"loader"),i0e={id:W7,detector:t0e,loader:r0e},n0e=i0e,Y7="ishikawa",a0e=M(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),s0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-FXEZZL3T-CDikxFR6.js");return{diagram:t}},[]);return{id:Y7,diagram:e}},"loader"),o0e={id:Y7,detector:a0e,loader:s0e},V7="venn",l0e=M(e=>/^\s*venn-beta/.test(e),"detector"),c0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./vennDiagram-L72KCM5P-YqnYvNJT.js");return{diagram:t}},[]);return{id:V7,diagram:e}},"loader"),u0e={id:V7,detector:l0e,loader:c0e},d0e=u0e,X7="treemap",h0e=M(e=>/^\s*treemap/.test(e),"detector"),f0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./diagram-G47NLZAW-B2ZGPKp3.js");return{diagram:t}},__vite__mapDeps([50,19,13,20,24,28,23]));return{id:X7,diagram:e}},"loader"),p0e={id:X7,detector:h0e,loader:f0e},K7="wardley",m0e=M(e=>/^\s*wardley-beta/i.test(e),"detector"),g0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./wardleyDiagram-EHGQE667-Dc6PvPZE.js");return{diagram:t}},__vite__mapDeps([51,19,20]));return{id:K7,diagram:e}},"loader"),b0e={id:K7,detector:m0e,loader:g0e},y0e=b0e,Z7="cynefin",x0e=M(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),_0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./cynefinDiagram-TSTJHNR4-CuPa5A8w.js");return{diagram:t}},__vite__mapDeps([52,19,20]));return{id:Z7,diagram:e}},"loader"),E0e={id:Z7,detector:x0e,loader:_0e},Q7="railroad",C0e=M(e=>/^\s*railroad-beta/i.test(e),"detector"),v0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./railroadDiagram-RFXS5EU6-D7Vohrlg.js");return{diagram:t}},__vite__mapDeps([53,54,19,20]));return{id:Q7,diagram:e}},"loader"),S0e={id:Q7,detector:C0e,loader:v0e},J7="railroadEbnf",T0e=M(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),w0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./ebnfDiagram-CCIWWBDH-hmnXWJuZ.js");return{diagram:t}},__vite__mapDeps([55,54,19,20]));return{id:J7,diagram:e}},"loader"),k0e={id:J7,detector:T0e,loader:w0e},e9="railroadAbnf",A0e=M(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),N0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./abnfDiagram-VRR7QNED-cQAiKjYG.js");return{diagram:t}},__vite__mapDeps([56,54,19,20]));return{id:e9,diagram:e}},"loader"),R0e={id:e9,detector:A0e,loader:N0e},t9="railroadPeg",L0e=M(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),I0e=M(async()=>{const{diagram:e}=await Jt(async()=>{const{diagram:t}=await import("./pegDiagram-2B236MQR-B-8nGU3G.js");return{diagram:t}},__vite__mapDeps([57,54,19,20]));return{id:t9,diagram:e}},"loader"),D0e={id:t9,detector:L0e,loader:I0e},Z3=!1,M0=M(()=>{Z3||(Z3=!0,nb("error",gbe,e=>e.toLowerCase().trim()==="error"),nb("---",{db:{clear:M(()=>{},"clear")},styles:{},renderer:{draw:M(()=>{},"draw")},parser:{parse:M(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:M(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),z1(_be,Abe,e0e),z1(ege,Ibe,ebe,Kge,gge,Sge,kge,Rge,Hge,Wge,hge,lge,nge,Sbe,_ge,lbe,nbe,hbe,Oge,Mbe,jbe,Pge,Wbe,n0e,Kbe,Hbe,o0e,p0e,S0e,k0e,R0e,D0e,d0e,y0e,E0e))},"addDiagrams"),O0e=M(async()=>{$e.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(gc).map(async([r,{detector:i,loader:n}])=>{if(n)try{Y1(r)}catch{try{const{diagram:a,id:l}=await n();nb(l,a,i)}catch(a){throw $e.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete gc[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){$e.error(`Failed to load ${t.length} external diagrams`);for(const r of t)$e.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),B0e="graphics-document document";function r9(e,t){e.attr("role",B0e),t!==""&&e.attr("aria-roledescription",t)}M(r9,"setA11yDiagramInfo");function i9(e,t,r,i){if(e.insert!==void 0){if(r){const n=`chart-desc-${i}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){const n=`chart-title-${i}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}M(i9,"addSVGa11yTitleDescription");var lc,PE=(lc=class{constructor(t,r,i,n,a){this.type=t,this.text=r,this.db=i,this.parser=n,this.renderer=a}static async fromText(t,r={}){var u,h;const i=_i(),n=mw(t,i);t=Vhe(t)+`
|
|
462
462
|
`;try{Y1(n)}catch{const f=Mse(n);if(!f)throw new a6(`Diagram ${n} not found.`);const{id:b,diagram:g}=await f();nb(b,g)}const{db:a,parser:l,renderer:s,init:c}=Y1(n);return l.parser&&(l.parser.yy=a),(u=a.clear)==null||u.call(a),c==null||c(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await l.parse(t),new lc(n,t,a,l,s)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},M(lc,"Diagram"),lc),Q3=[],M0e=M(()=>{Q3.forEach(e=>{e()}),Q3=[]},"attachFunctions"),F0e=M(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function n9(e){const t=e.match(n6);if(!t)return{text:e,metadata:{}};const r=t[1],i=r?t[2].split(`
|
|
463
463
|
`).map(l=>l.startsWith(r)?l.slice(r.length):l).join(`
|
|
464
464
|
`):t[2];let n=Xde(i,{schema:Vde})??{};n=typeof n=="object"&&!Array.isArray(n)?n:{};const a={};return n.displayMode&&(a.displayMode=n.displayMode.toString()),n.title&&(a.title=n.title.toString()),n.config&&(a.config=n.config),{text:e.slice(t[0].length),metadata:a}}M(n9,"extractFrontMatter");var P0e=M(e=>e.replace(/\r\n?/g,`
|
|
@@ -469,7 +469,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error
|
|
|
469
469
|
</iframe>`},"putIntoIFrame"),eO=M((e,t,r,i,n)=>{const a=e.append("div");a.attr("id",r),i&&a.attr("style",i);const l=a.append("svg").attr("id",t).attr("width","100%").attr("xmlns",G0e);return n&&l.attr("xmlns:xlink",n),l.append("g"),e},"appendDivSvgG");function jE(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}M(jE,"sandboxedIframe");var oye=M((e,t,r,i)=>{var n,a,l;(n=e.getElementById(t))==null||n.remove(),(a=e.getElementById(r))==null||a.remove(),(l=e.getElementById(i))==null||l.remove()},"removeExistingElements"),lye=M(async function(e,t,r){var Y,H,W,z,F,X;M0();const i=mk(t);t=i.code;const n=_i();$e.debug(n),t.length>((n==null?void 0:n.maxTextSize)??$0e)&&(t=H0e);const a=`#${e}`,l="i"+e,s="#"+l,c="d"+e,u="#"+c,h=M(()=>{const P=rr(b?s:u).node();P&&"remove"in P&&P.remove()},"removeTempElements");let f=rr(document.body);const b=n.securityLevel===z0e,g=n.securityLevel===q0e,v=n.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),b){const G=jE(rr(r),l);f=rr(G.nodes()[0].contentDocument.body),f.node().style.margin="0"}else f=rr(r);eO(f,e,c,`font-family: ${v}`,W0e)}else{if(oye(document,e,c,l),b){const G=jE(rr(document.body),l);f=rr(G.nodes()[0].contentDocument.body),f.node().style.margin="0"}else f=rr("body");eO(f,e,c)}let C,y;try{C=await PE.fromText(t,{title:i.title})}catch(G){if(n.suppressErrorRendering)throw h(),G;C=await PE.fromText("error"),y=G}const x=f.select(u).node(),E=C.type,S=x.firstChild,T=S.firstChild,A=(H=(Y=C.renderer).getClasses)==null?void 0:H.call(Y,t,C),k=nye(n,E,A,a),L=document.createElement("style");L.innerHTML=k,S.insertBefore(L,T);try{await C.renderer.draw(t,e,"11.16.0",C)}catch(G){throw n.suppressErrorRendering?h():pbe.draw(t,e,"11.16.0"),G}const N=f.select(`${u} svg`),O=(z=(W=C.db).getAccTitle)==null?void 0:z.call(W),B=(X=(F=C.db).getAccDescription)==null?void 0:X.call(F);c9(E,N,O,B),f.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",Y0e);let $=f.select(u).node().innerHTML;if($e.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),$=aye($,b,Hs(n.arrowMarkerAbsolute)),b){const G=f.select(u+" svg").node();$=sye($,G)}else g||($=nd.sanitize($,{ADD_TAGS:eye,ADD_ATTR:tye,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(M0e(),y)throw y;return h(),{diagramType:E,svg:$,bindFunctions:C.db.bindFunctions}},"render");function o9(e={}){var i;const t=qi({},e);t!=null&&t.fontFamily&&!((i=t.themeVariables)!=null&&i.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),Lse(t),t!=null&&t.theme&&t.theme in bo?t.themeVariables=bo[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=bo.default.getThemeVariables(t.themeVariables));const r=typeof t=="object"?Rse(t):J4();pw(r.logLevel),M0()}M(o9,"initialize");var l9=M((e,t={})=>{const{code:r}=pk(e);return PE.fromText(r,t)},"getDiagramFromText");function c9(e,t,r,i){r9(t,e),i9(t,r,i,t.attr("id"))}M(c9,"addA11yInfo");var Ec=Object.freeze({render:lye,parse:s9,getDiagramFromText:l9,initialize:o9,getConfig:_i,setConfig:e6,getSiteConfig:J4,updateSiteConfig:Ise,reset:M(()=>{rb()},"reset"),globalReset:M(()=>{rb(ad)},"globalReset"),defaultConfig:ad});pw(_i().logLevel);rb(_i());var cye=M((e,t,r)=>{$e.warn(e),Xw(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),u9=M(async function(e={querySelector:".mermaid"}){try{await uye(e)}catch(t){if(Xw(t)&&$e.error(t.str),Ea.parseError&&Ea.parseError(t),!e.suppressErrors)throw $e.error("Use the suppressErrors option to suppress these errors"),t}},"run"),uye=M(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){const i=Ec.getConfig();$e.debug(`${e?"":"No "}Callback function found`);let n;if(r)n=r;else if(t)n=document.querySelectorAll(t);else throw new Error("Nodes and querySelector are both undefined");$e.debug(`Found ${n.length} diagrams`),(i==null?void 0:i.startOnLoad)!==void 0&&($e.debug("Start On Load: "+(i==null?void 0:i.startOnLoad)),Ec.updateSiteConfig({startOnLoad:i==null?void 0:i.startOnLoad}));const a=new es.InitIDGenerator(i.deterministicIds,i.deterministicIDSeed);let l;const s=[];for(const c of Array.from(n)){if($e.info("Rendering diagram: "+c.id),c.getAttribute("data-processed"))continue;c.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;l=c.innerHTML,l=_8(es.entityDecode(l)).trim().replace(/<br\s*\/?>/gi,"<br/>");const h=es.detectInit(l);h&&$e.debug("Detected early reinit: ",h);try{const{svg:f,bindFunctions:b}=await p9(u,l,c);c.innerHTML=f,e&&await e(u),b&&b(c)}catch(f){cye(f,s,Ea.parseError)}}if(s.length>0)throw s[0]},"runThrowsErrors"),d9=M(function(e){Ec.initialize(e)},"initialize"),dye=M(async function(e,t,r){$e.warn("mermaid.init is deprecated. Please use run instead."),e&&d9(e);const i={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?i.querySelector=t:t&&(t instanceof HTMLElement?i.nodes=[t]:i.nodes=t),await u9(i)},"init"),hye=M(async(e,{lazyLoad:t=!0}={})=>{M0(),z1(...e),t===!1&&await O0e()},"registerExternalDiagrams"),h9=M(function(){if(Ea.startOnLoad){const{startOnLoad:e}=Ec.getConfig();e&&Ea.run().catch(t=>$e.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",h9,!1);var fye=M(function(e){Ea.parseError=e},"setParseErrorHandler"),Rb=[],X_=!1,f9=M(async()=>{if(!X_){for(X_=!0;Rb.length>0;){const e=Rb.shift();if(e)try{await e()}catch(t){$e.error("Error executing queue",t)}}X_=!1}},"executeQueue"),pye=M(async(e,t)=>new Promise((r,i)=>{const n=M(()=>new Promise((a,l)=>{Ec.parse(e,t).then(s=>{a(s),r(s)},s=>{var c;$e.error("Error parsing",s),(c=Ea.parseError)==null||c.call(Ea,s),l(s),i(s)})}),"performCall");Rb.push(n),f9().catch(i)}),"parse"),p9=M((e,t,r)=>new Promise((i,n)=>{const a=M(()=>new Promise((l,s)=>{Ec.render(e,t,r).then(c=>{l(c),i(c)},c=>{var u;$e.error("Error parsing",c),(u=Ea.parseError)==null||u.call(Ea,c),s(c),n(c)})}),"performCall");Rb.push(a),f9().catch(n)}),"render"),mye=M(()=>Object.keys(gc).map(e=>({id:e})),"getRegisteredDiagramsMetadata"),Ea={startOnLoad:!0,mermaidAPI:Ec,parse:pye,render:p9,init:dye,run:u9,registerExternalDiagrams:hye,registerLayoutLoaders:u7,initialize:d9,parseError:void 0,contentLoaded:h9,setParseErrorHandler:fye,detectType:mw,registerIconPacks:mfe,getRegisteredDiagramsMetadata:mye},m9=Ea;/*! Check if previously processed *//*!
|
|
470
470
|
* Wait for document loaded before starting the execution
|
|
471
471
|
*/m9.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"});function gye({d:e,className:t}){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t??"h-3.5 w-3.5","aria-hidden":"true",children:p.jsx("path",{d:e})})}const bye="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7ZM12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z";async function eg(e){const t=await fetch(we.artifacts.contentUrl(e));return t.ok?t.text():""}function K_({markdown:e,testid:t}){return p.jsx(ss,{value:e,onChange:()=>{},previewOnly:!0,height:"calc(100vh - 16rem)",testId:t})}function yye(){const{id:e}=an(),t=Number(e),{application:r}=cs(),i=(r==null?void 0:r.id)??"",[n,a]=U.useState(""),[l,s]=U.useState([]),[c,u]=U.useState("erd"),[h,f]=U.useState(100),[b,g]=U.useState(""),[v,C]=U.useState(""),[y,x]=U.useState(!1),[E,S]=U.useState(""),[T,A]=U.useState(""),[k,L]=U.useState(""),N=U.useRef(0);U.useEffect(()=>{var W;a(((W=r==null?void 0:r.modules[0])==null?void 0:W.name)??"")},[r==null?void 0:r.id]);const O=U.useCallback(()=>{we.artifacts.list(t,i||void 0).then(W=>s(W.data??[]))},[t,i]);U.useEffect(()=>{O();const W=setInterval(O,5e3);return()=>clearInterval(W)},[O]);const B=r,$=n.toLowerCase().replace(/\s+/g,"-"),Y=U.useCallback(W=>l.find(z=>z.artifactType===W&&z.module===$)??l.find(z=>z.artifactType===W),[l,$]);U.useEffect(()=>{if(c!=="erd")return;const W=Y("erd");if(!W){g(""),C(""),x(!1);return}const z=++N.current;eg(W.id).then(F=>{const X=F.replace(/^\s*```(?:mermaid)?\s*\n/,"").replace(/\n```\s*$/,"");m9.render(`erd-${W.id}-${z}`,X).then(({svg:G})=>{N.current===z&&(g(G),C(X),x(!1))}).catch(()=>{N.current===z&&(g(""),C(X),x(!0))})})},[c,Y]),U.useEffect(()=>{if(c!=="data_model")return;const W=()=>{const z=Y("data_model");z?eg(z.id).then(S):S("")};i&&n?we.artifacts.moduleModel(t,i,n).then(z=>{z.ok&&z.data?S(z.data.content):W()}):W()},[c,t,i,n,Y]),U.useEffect(()=>{if(c==="technical_spec"){const W=Y("technical_spec");W?eg(W.id).then(A):A("")}if(c==="test_spec"){const W=Y("test_spec");W?eg(W.id).then(L):L("")}},[c,Y]);const H=p.jsx("p",{className:"p-4 text-xs text-muted-foreground","data-testid":"artifact-empty",children:"No artifacts registered yet for this selection — artifacts appear after a conductor run completes on the Workflow Execution page."});return p.jsx(Cr,{children:p.jsxs("div",{className:"space-y-4 p-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(gye,{d:bye,className:"h-4 w-4 text-primary"}),p.jsx("h1",{className:"text-lg font-semibold",children:"Artifact Review"})]}),p.jsx("div",{className:"flex flex-wrap items-center gap-3","data-testid":"artifact-selectors",children:p.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["Module",p.jsx("select",{value:n,onChange:W=>a(W.target.value),className:"h-8 rounded-md border border-input bg-background px-2 text-xs","data-testid":"artifact-module-select",children:B==null?void 0:B.modules.map(W=>p.jsx("option",{value:W.name,children:W.name},W.id))})]})}),p.jsxs(zf,{value:c,onValueChange:u,children:[p.jsxs(qf,{children:[p.jsx(Fn,{value:"erd",children:"ERD"}),p.jsx(Fn,{value:"data_model",children:"Data Model"}),p.jsx(Fn,{value:"technical_spec",children:"Tech Spec"}),p.jsx(Fn,{value:"test_spec",children:"Test Spec"})]}),p.jsxs(ya,{value:"erd",className:"mt-4",children:[p.jsxs("div",{className:"mb-2 flex items-center gap-2","data-testid":"erd-zoom-controls",children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-7 w-7 p-0",onClick:()=>f(W=>Math.max(W-10,30)),"aria-label":"Zoom out",children:"−"}),p.jsxs("span",{className:"w-12 text-center text-xs","data-testid":"erd-zoom-level",children:[h,"%"]}),p.jsx(Ie,{variant:"outline",size:"sm",className:"h-7 w-7 p-0",onClick:()=>f(W=>Math.min(W+10,200)),"aria-label":"Zoom in",children:"+"})]}),b?p.jsx("div",{className:"overflow-auto rounded-md border bg-card p-4",children:p.jsx("div",{style:{transform:`scale(${h/100})`,transformOrigin:"top left"},"data-testid":"erd-diagram",dangerouslySetInnerHTML:{__html:b}})}):y&&v?p.jsxs("div",{className:"space-y-2","data-testid":"erd-render-error",children:[p.jsx("p",{className:"text-xs text-amber-600",children:"The diagram could not be rendered — showing the raw Mermaid source instead."}),p.jsx("pre",{className:"max-h-[60vh] overflow-auto rounded-md border bg-muted p-4 font-mono text-xs",children:v})]}):H]}),p.jsx(ya,{value:"data_model",className:"mt-4",children:E?p.jsx(K_,{markdown:E,testid:"data-model-content"}):H}),p.jsx(ya,{value:"technical_spec",className:"mt-4",children:T?p.jsx(K_,{markdown:T,testid:"tech-spec-content"}):H}),p.jsx(ya,{value:"test_spec",className:"mt-4",children:k?p.jsx(K_,{markdown:k,testid:"test-spec-content"}):H})]})]})})}function ta({open:e,onOpenChange:t,children:r,className:i}){return U.useEffect(()=>{if(!e)return;const n=a=>{a.key==="Escape"&&t(!1)};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e,t]),e?p.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[p.jsx("div",{className:"absolute inset-0 bg-black/40","aria-hidden":"true",onClick:()=>t(!1)}),p.jsx("div",{role:"dialog","aria-modal":"true",className:ci("relative z-10 w-full max-w-md rounded-lg border border-border bg-card p-4 shadow-lg",i),children:r})]}):null}function bl({className:e,...t}){return p.jsx("div",{className:ci("space-y-1",e),...t})}function ra({className:e,...t}){return p.jsx("div",{className:ci("mb-3 space-y-1",e),...t})}function ia({className:e,...t}){return p.jsx("h2",{className:ci("text-base font-semibold",e),...t})}function oc({className:e,...t}){return p.jsx("p",{className:ci("text-sm text-muted-foreground",e),...t})}function as({className:e,...t}){return p.jsx("div",{className:ci("mt-4 flex justify-end gap-2",e),...t})}const gp=U.forwardRef(({className:e,...t},r)=>p.jsx("div",{className:"w-full overflow-x-auto",children:p.jsx("table",{ref:r,className:ci("w-full caption-bottom text-sm",e),...t})}));gp.displayName="Table";const bp=U.forwardRef(({className:e,...t},r)=>p.jsx("thead",{ref:r,className:ci("border-b border-border",e),...t}));bp.displayName="TableHeader";const yp=U.forwardRef(({className:e,...t},r)=>p.jsx("tbody",{ref:r,className:ci(e),...t}));yp.displayName="TableBody";const Ua=U.forwardRef(({className:e,...t},r)=>p.jsx("tr",{ref:r,className:ci("border-b border-border transition-colors hover:bg-muted/50",e),...t}));Ua.displayName="TableRow";const pi=U.forwardRef(({className:e,...t},r)=>p.jsx("th",{ref:r,className:ci("h-10 px-3 text-left align-middle text-xs font-medium text-muted-foreground",e),...t}));pi.displayName="TableHead";const ti=U.forwardRef(({className:e,...t},r)=>p.jsx("td",{ref:r,className:ci("px-3 py-2 align-middle",e),...t}));ti.displayName="TableCell";const Z_=10;function xye({status:e}){if(e==="CLOSED")return p.jsx(ir,{variant:"success",className:"text-[10px]",children:"Completed"});if(e==="ERROR")return p.jsx(ir,{className:"border-transparent bg-red-100 text-[10px] text-red-700",children:"Error"});const t=e==="NEW"?"New":e==="AWAITING_HUMAN"?"Awaiting human":"Awaiting agent";return p.jsx(ir,{variant:"outline",className:"text-[10px]",children:t})}function _ye(){const{id:e}=an(),t=Number(e),r=nn(),[i,n]=U.useState([]),[a,l]=U.useState(0),[s,c]=U.useState(1),[u,h]=U.useState(!0),[f,b]=U.useState(),[g,v]=U.useState(""),[C,y]=U.useState(""),[x,E]=U.useState(""),[S,T]=U.useState(""),[A,k]=U.useState({title:"",owner:"",from:"",to:""}),[L,N]=U.useState(!1),[O,B]=U.useState(""),[$,Y]=U.useState(!1),H=()=>{h(!0),we.brainstorm.list(t,{page:s,pageSize:Z_,...A}).then(G=>{G.data?(n(G.data.items),l(G.data.total)):b("Could not load brainstorm sessions."),h(!1)})};U.useEffect(H,[t,s,A]);const W=Math.max(1,Math.ceil(a/Z_)),z=()=>{c(1),k({title:g,owner:C,from:x,to:S})},F=()=>{v(""),y(""),E(""),T(""),c(1),k({title:"",owner:"",from:"",to:""})},X=async()=>{if(!O.trim())return;Y(!0),b(void 0);const G=await we.brainstorm.create(t,O.trim());if(Y(!1),!G.ok||!G.data){b("Could not create the brainstorm session.");return}N(!1),B(""),r(`/projects/${t}/brainstorm/${G.data.id}`)};return p.jsxs(Cr,{children:[p.jsxs("div",{className:"space-y-4 p-4 pb-28",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("h1",{className:"text-lg font-semibold",children:"Brainstorm Sessions"}),p.jsx(Ie,{size:"sm",onClick:()=>N(!0),"data-testid":"brainstorm-new-session",children:"New Session"})]}),f&&p.jsx("p",{className:"text-xs text-destructive",children:f}),p.jsxs(Et,{children:[p.jsx(Qt,{className:"pb-2",children:p.jsx(nr,{className:"text-sm",children:"Search"})}),p.jsx(St,{children:p.jsxs("div",{className:"flex flex-wrap items-end gap-3",children:[p.jsxs("div",{className:"min-w-44 flex-1 space-y-1",children:[p.jsx(jt,{htmlFor:"bs-search-title",className:"text-xs",children:"Title"}),p.jsx(Xt,{id:"bs-search-title",className:"h-8 text-sm",placeholder:"Search by title…",value:g,onChange:G=>v(G.target.value),onKeyDown:G=>G.key==="Enter"&&z(),"data-testid":"brainstorm-search-title"})]}),p.jsxs("div",{className:"min-w-36 space-y-1",children:[p.jsx(jt,{htmlFor:"bs-search-owner",className:"text-xs",children:"Owner"}),p.jsx(Xt,{id:"bs-search-owner",className:"h-8 text-sm",placeholder:"Username…",value:C,onChange:G=>y(G.target.value),onKeyDown:G=>G.key==="Enter"&&z(),"data-testid":"brainstorm-search-owner"})]}),p.jsxs("div",{className:"space-y-1",children:[p.jsx(jt,{htmlFor:"bs-search-from",className:"text-xs",children:"From"}),p.jsx(Xt,{id:"bs-search-from",type:"date",className:"h-8 text-sm",value:x,onChange:G=>E(G.target.value),"data-testid":"brainstorm-search-from"})]}),p.jsxs("div",{className:"space-y-1",children:[p.jsx(jt,{htmlFor:"bs-search-to",className:"text-xs",children:"To"}),p.jsx(Xt,{id:"bs-search-to",type:"date",className:"h-8 text-sm",value:S,onChange:G=>T(G.target.value),"data-testid":"brainstorm-search-to"})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:z,"data-testid":"brainstorm-search-apply",children:"Search"}),p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:F,"data-testid":"brainstorm-search-clear",children:"Clear"})]})]})})]}),p.jsx(Et,{children:p.jsxs(St,{className:"pt-4",children:[u?p.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading…"}):i.length===0?p.jsxs("p",{className:"py-8 text-center text-sm text-muted-foreground","data-testid":"brainstorm-empty",children:["No brainstorm sessions yet. Create one with ",p.jsx("strong",{children:"New Session"}),"."]}):p.jsxs(gp,{"data-testid":"brainstorm-session-table",children:[p.jsx(bp,{children:p.jsxs(Ua,{children:[p.jsx(pi,{children:"Title"}),p.jsx(pi,{children:"Markdown File"}),p.jsx(pi,{children:"Status"}),p.jsx(pi,{children:"Progress"}),p.jsx(pi,{children:"Owner"}),p.jsx(pi,{children:"Created"}),p.jsx(pi,{className:"text-right",children:"Action"})]})}),p.jsx(yp,{children:i.map(G=>p.jsxs(Ua,{"data-testid":`brainstorm-session-row-${G.id}`,children:[p.jsx(ti,{className:"font-medium",children:G.title||"—"}),p.jsx(ti,{children:p.jsx("code",{className:"text-xs text-muted-foreground",children:G.fileName||"—"})}),p.jsx(ti,{children:p.jsx(xye,{status:G.status})}),p.jsxs(ti,{className:"text-xs",children:["Round ",G.currentRound]}),p.jsx(ti,{className:"text-xs",children:G.ownerDisplayName??G.ownerUsername??"—"}),p.jsx(ti,{className:"text-xs text-muted-foreground",children:new Date(G.createdAt).toLocaleString()}),p.jsx(ti,{className:"text-right",children:p.jsx(Ie,{variant:"outline",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>r(`/projects/${t}/brainstorm/${G.id}`),"data-testid":`brainstorm-open-${G.id}`,children:G.status==="CLOSED"?"View":"Edit"})})]},G.id))})]}),a>Z_&&p.jsxs("div",{className:"mt-3 flex items-center justify-end gap-3",children:[p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm","data-testid":"brainstorm-page-prev",onClick:()=>c(G=>Math.max(1,G-1)),disabled:s===1,children:"Previous"}),p.jsxs("span",{className:"text-xs text-muted-foreground","data-testid":"brainstorm-page-indicator",children:["Page ",s," of ",W]}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm","data-testid":"brainstorm-page-next",onClick:()=>c(G=>Math.min(W,G+1)),disabled:s>=W,children:"Next"})]})]})})]}),p.jsx(ta,{open:L,onOpenChange:N,children:p.jsxs(bl,{children:[p.jsx(ra,{children:p.jsx(ia,{children:"New Brainstorm Session"})}),p.jsxs("div",{className:"space-y-1.5",children:[p.jsx(jt,{htmlFor:"bs-new-title",className:"text-xs",children:"Title"}),p.jsx(Xt,{id:"bs-new-title",placeholder:"e.g. API key rotation",value:O,onChange:G=>B(G.target.value),onKeyDown:G=>G.key==="Enter"&&X(),"data-testid":"brainstorm-new-title"}),p.jsxs("p",{className:"text-xs text-muted-foreground",children:["The title names the session markdown, e.g."," ",p.jsx("code",{children:`${(O||"my-idea").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-idea"}.brainstorm.md`})]})]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:()=>N(!1),children:"Cancel"}),p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:X,disabled:$||!O.trim(),"data-testid":"brainstorm-new-create",children:$?"Creating…":"Create"})]})]})})]})}function gk(e){return`[${e.name}](shared_context/${e.path})`}function g9({nodes:e,depth:t,onPick:r}){return p.jsx("div",{children:e.map(i=>i.type==="folder"?p.jsxs("div",{children:[p.jsxs("p",{className:"px-2 py-1 text-xs text-muted-foreground",style:{paddingLeft:`${8+t*14}px`},children:["📁 ",i.name]}),i.children&&p.jsx(g9,{nodes:i.children,depth:t+1,onPick:r})]},i.path):p.jsxs("button",{type:"button",onClick:()=>r(i),style:{paddingLeft:`${8+t*14}px`},className:"block w-full rounded px-2 py-1.5 text-left text-xs hover:bg-muted","data-testid":`shared-ref-${i.path}`,children:["📄 ",i.name]},i.path))})}function bk({projectId:e,open:t,onOpenChange:r,onPick:i}){const[n,a]=U.useState([]);return U.useEffect(()=>{t&&we.sharedContext.tree(e).then(l=>{var s;return a(((s=l.data)==null?void 0:s.tree)??[])})},[t,e]),p.jsx(ta,{open:t,onOpenChange:r,children:p.jsxs(bl,{className:"max-h-[70vh] max-w-md overflow-y-auto",children:[p.jsx(ra,{children:p.jsx(ia,{children:"Shared Context"})}),p.jsx("div",{className:"space-y-1",children:n.length===0?p.jsx("p",{className:"text-xs text-muted-foreground",children:"No shared-context files yet — upload references on the Shared Context screen."}):p.jsx(g9,{nodes:n,depth:0,onPick:i})})]})})}const Eye=5e3;function Cye(){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"h-3.5 w-3.5 shrink-0","aria-hidden":"true",children:p.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",strokeLinecap:"round",strokeLinejoin:"round"})})}function vye(){return p.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"h-3 w-3","aria-hidden":"true",children:[p.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),p.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function Sye(){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"h-3 w-3 text-green-500","aria-hidden":"true",children:p.jsx("path",{d:"M20 6 9 17l-5-5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Tye(){const{id:e,sessionId:t}=an(),r=Number(e),i=Number(t),n=nn(),[a,l]=U.useState(null),[s,c]=U.useState(""),[u,h]=U.useState(""),[f,b]=U.useState(""),[g,v]=U.useState(""),[C,y]=U.useState("/brainstorm-loop"),[x,E]=U.useState(!0),[S,T]=U.useState(!1),[A,k]=U.useState(!1),[L,N]=U.useState(),[O,B]=U.useState(!1),[$,Y]=U.useState(null),[H,W]=U.useState(!1),z=(a==null?void 0:a.status)==="CLOSED",F=!x&&!z&&(s!==u||f!==g),X=U.useRef(!1);X.current=F;const G=F&&a!=null&&a.ideaMarkdown!==u,P=(pe,te)=>{l(pe),(te||!X.current)&&(c(pe.ideaMarkdown),h(pe.ideaMarkdown),b(pe.title),v(pe.title))},D=async pe=>{const te=await we.brainstorm.get(r,i);te.data&&P(te.data,pe)},j=()=>{Promise.all([we.brainstorm.get(r,i),we.brainstorm.command(r,i)]).then(([pe,te])=>{pe.data?P(pe.data,!0):N("Could not load the brainstorm session."),te.data&&y(te.data.command),E(!1)})};U.useEffect(j,[r,i]),U.useEffect(()=>{if(x||z)return;const pe=setInterval(()=>{D(!1)},Eye);return()=>clearInterval(pe)},[x,z,r,i]),U.useEffect(()=>{if(!F)return;const pe=te=>{te.preventDefault(),te.returnValue=""};return window.addEventListener("beforeunload",pe),()=>window.removeEventListener("beforeunload",pe)},[F]);const K=async()=>{T(!0),N(void 0);const pe={};s!==u&&(pe.ideaMarkdown=s),f!==g&&f.trim()&&(pe.title=f.trim());const te=await we.brainstorm.update(r,i,pe);if(T(!1),!te.ok){N("Save failed.");return}j()},V=async()=>{N(void 0);const pe=await we.brainstorm.template(r,i);if(!pe.ok||!pe.data){N("Could not load the brainstorm template.");return}if(s.trim()&&s!==pe.data.template){Y(pe.data.template);return}c(pe.data.template)},ie=async()=>{try{await navigator.clipboard.writeText(C)}catch{}k(!0),setTimeout(()=>k(!1),1500)};if(x)return p.jsx(Cr,{children:p.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading…"})});const ye=(a==null?void 0:a.sessionFolderPath)??"";return p.jsxs(Cr,{children:[p.jsxs("div",{className:"flex h-full flex-col gap-3 p-4",children:[p.jsxs("div",{className:"flex items-center justify-between gap-3",children:[p.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[p.jsx(Ie,{variant:"ghost",size:"sm",className:"h-7 shrink-0 px-2 text-xs",onClick:()=>n(`/projects/${r}/brainstorm`),"data-testid":"brainstorm-back",children:"← Sessions"}),p.jsx(Xt,{className:"h-8 max-w-md text-sm font-semibold",value:f,onChange:pe=>b(pe.target.value),disabled:z,placeholder:"Session title","data-testid":"brainstorm-title"}),z&&p.jsx(ir,{variant:"success",className:"text-[10px]",children:"Completed"})]}),p.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 text-xs text-muted-foreground",children:[p.jsx("span",{children:"Round"}),p.jsx(ir,{variant:"outline",children:(a==null?void 0:a.currentRound)??1})]})]}),L&&p.jsx("p",{className:"text-xs text-destructive",children:L}),p.jsxs("div",{className:"grid min-h-0 flex-1 grid-cols-3 gap-4",children:[p.jsxs(Et,{className:"col-span-2 flex min-h-0 flex-col overflow-hidden",children:[p.jsx(Qt,{className:"pb-2",children:p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx(nr,{className:"text-sm",children:"Brainstorm Document"}),p.jsxs("div",{className:"flex items-center gap-1.5",children:[p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",onClick:()=>F?W(!0):void D(!0),"data-testid":"brainstorm-refresh",children:"Refresh"}),!z&&p.jsxs(p.Fragment,{children:[p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",onClick:V,"data-testid":"brainstorm-copy-template",children:"Copy Template"}),p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",onClick:()=>B(!0),"data-testid":"brainstorm-shared-context",children:"Shared Context"})]})]})]})}),p.jsxs(St,{className:"flex min-h-0 flex-1 flex-col gap-2",children:[p.jsx("div",{className:"min-h-0 flex-1",children:p.jsx(ss,{value:s,onChange:c,height:"100%",className:"h-full rounded-md border border-border",defaultPreview:"edit",readOnly:z,placeholder:"Describe your project idea in markdown…",testId:"brainstorm-idea"})}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("p",{className:"text-xs text-muted-foreground",children:[s.length," characters · persisted to the database and"," ",p.jsx("code",{className:"mx-0.5",children:"*.brainstorm.md"})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[G&&p.jsx("span",{className:"text-xs text-blue-600","data-testid":"brainstorm-remote-changed",children:"Updated on disk — Refresh to load"}),F&&p.jsx("span",{className:"text-xs text-amber-600","data-testid":"brainstorm-unsaved",children:"Unsaved changes"}),!z&&p.jsx(Ie,{size:"sm",onClick:K,disabled:S,"data-testid":"brainstorm-save",children:S?"Saving…":"Save"})]})]})]})]}),p.jsxs("div",{className:"min-h-0 space-y-3 overflow-y-auto",children:[(a==null?void 0:a.outputMarkdownPath)&&p.jsxs(Et,{children:[p.jsx(Qt,{className:"pb-2",children:p.jsx(nr,{className:"text-sm",children:"Output Markdown"})}),p.jsx(St,{children:p.jsxs("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2",children:[p.jsx("code",{className:"flex-1 break-all text-xs text-muted-foreground",children:a.outputMarkdownPath}),p.jsx(ir,{variant:"outline",className:"text-[10px]",children:"brainstorm.md"})]})})]}),p.jsxs(Et,{className:"border-primary/20 bg-primary/5",children:[p.jsx(Qt,{className:"pb-2",children:p.jsx(nr,{className:"text-sm",children:"Run Brainstorm Loop"})}),p.jsxs(St,{className:"space-y-2",children:[p.jsx("p",{className:"text-xs text-muted-foreground",children:"Paste this command into the terminal bar at the bottom of the screen — it runs the loop on this session's markdown only (co2-cli never runs it for you):"}),p.jsxs("div",{className:"flex items-center gap-1 rounded-md bg-zinc-950 px-2 py-1.5",children:[p.jsx("code",{className:"flex-1 break-all font-mono text-xs text-green-400",children:C}),p.jsx(Ie,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0 text-zinc-400 hover:text-zinc-200",onClick:ie,"data-testid":"brainstorm-copy","aria-label":"Copy command",children:p.jsx(vye,{})})]}),A&&p.jsx("p",{className:"text-xs text-green-600",children:"Copied!"})]})]}),p.jsxs(Et,{children:[p.jsx(Qt,{className:"pb-2",children:p.jsx(nr,{className:"text-sm",children:"Session Progress"})}),p.jsxs(St,{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[p.jsx(Sye,{}),p.jsxs("span",{className:"font-medium","data-testid":"brainstorm-progress",children:["Round ",(a==null?void 0:a.currentRound)??1," —"," ",(a==null?void 0:a.status)==="CLOSED"?"completed":"in progress"]})]}),ye&&p.jsxs("div",{className:"flex items-center gap-2 rounded-md border bg-muted/60 px-2 py-1.5 text-xs text-muted-foreground",children:[p.jsx(Cye,{}),p.jsxs("code",{className:"break-all font-mono text-foreground",children:[ye,"/"]})]})]})]}),p.jsxs("div",{className:"space-y-1 rounded-md border border-blue-200 bg-blue-50 px-3 py-2 text-xs text-blue-800 dark:border-blue-800 dark:bg-blue-950/20 dark:text-blue-300",children:[p.jsx("p",{className:"font-medium",children:"CLAUDE.md detection"}),p.jsx("p",{children:"When this session is linked to a New Project Wizard, CLAUDE.md detection and application import run automatically via the Batch Job. There is no manual Monitor button."})]})]})]})]}),p.jsx(bk,{projectId:r,open:O,onOpenChange:B,onPick:pe=>{const te=gk(pe);c(Z=>Z?`${Z}
|
|
472
|
-
${te}`:te),B(!1)}}),p.jsx(ta,{open:H,onOpenChange:W,children:p.jsxs(bl,{children:[p.jsx(ra,{children:p.jsx(ia,{children:"Reload from disk?"})}),p.jsxs("p",{className:"text-xs text-muted-foreground","data-testid":"brainstorm-refresh-warning",children:["The editor has ",p.jsx("strong",{children:"unsaved changes"})," that reloading will discard. If you still need your current markdown, copy it somewhere else before continuing."]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:()=>W(!1),children:"Cancel"}),p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:()=>{W(!1),D(!0)},"data-testid":"brainstorm-refresh-confirm",children:"Discard and reload"})]})]})}),p.jsx(ta,{open:$!==null,onOpenChange:pe=>!pe&&Y(null),children:p.jsxs(bl,{children:[p.jsx(ra,{children:p.jsx(ia,{children:"Replace with the brainstorm template?"})}),p.jsxs("p",{className:"text-xs text-muted-foreground","data-testid":"brainstorm-template-warning",children:["The editor already has content, and copying the template will"," ",p.jsx("strong",{children:"replace all of it"}),". If you still need your current markdown, copy it somewhere else before continuing."]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:()=>Y(null),children:"Cancel"}),p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:()=>{$!==null&&c($),Y(null)},"data-testid":"brainstorm-template-confirm",children:"Replace content"})]})]})})]})}const wye=5e3;function Nu({d:e,className:t}){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t??"h-4 w-4","aria-hidden":"true",children:p.jsx("path",{d:e})})}const kye="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2zM9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",Aye="M9 9V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4M3 11a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",Nye="M20 6 9 17l-5-5",Q_="M23 4L23 10L17 10 M1 20L1 14L7 14 M3.51 9a9 9 0 0 1 14.85-3.36L23 10 M1 14l4.64 4.36A9 9 0 0 0 20.49 15l3.85-3.36";function b9({text:e,testid:t}){const[r,i]=U.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(e)}catch{}i(!0),setTimeout(()=>i(!1),1500)};return p.jsxs(Ie,{size:"sm",variant:"outline",className:"h-7 gap-1 px-2 text-xs",onClick:n,"data-testid":t,children:[r?p.jsx(Nu,{d:Nye,className:"h-3 w-3 text-green-500"}):p.jsx(Nu,{d:Aye,className:"h-3 w-3"}),r?"Copied!":"Copy"]})}function tO({title:e,hint:t,command:r,testid:i}){return p.jsxs(Et,{className:"border-blue-200 bg-blue-50 dark:border-blue-900 dark:bg-blue-950/20",children:[p.jsx(Qt,{className:"px-4 pb-2 pt-4",children:p.jsx(nr,{className:"text-sm text-blue-800 dark:text-blue-300",children:e})}),p.jsxs(St,{className:"space-y-3 px-4 pb-4",children:[p.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-400",children:t}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("code",{className:"flex-1 rounded bg-zinc-900 px-2 py-1.5 font-mono text-xs text-green-400","data-testid":i,children:r}),p.jsx(b9,{text:r,testid:`${i}-copy`})]})]})]})}function Rye(){const{id:e}=an(),t=Number(e),[r,i]=U.useState(null),[n,a]=U.useState(""),[l,s]=U.useState(),[c,u]=U.useState(!1),[h,f]=U.useState(!1),[b,g]=U.useState(null),v=U.useCallback(()=>{we.cicd.get(t).then(T=>{T.ok&&T.data&&i(T.data)})},[t]),C=U.useCallback(async()=>{f(!0),s(void 0);try{const T=await we.cicd.rescan(t);if(T.ok&&T.data){if(i(T.data),T.data.status==="planned"||T.data.status==="approved"){const A=await we.cicd.planContent(t);A.ok&&A.data&&a(A.data.content)}}else s("Rescan failed — try again.")}finally{f(!1)}},[t]);U.useEffect(()=>{v()},[v]);const y=(r==null?void 0:r.status)==="planning"||(r==null?void 0:r.status)==="generating";U.useEffect(()=>{if(!y)return;const T=setInterval(v,wye);return()=>clearInterval(T)},[y,v]),U.useEffect(()=>{((r==null?void 0:r.status)==="planned"||(r==null?void 0:r.status)==="approved")&&we.cicd.planContent(t).then(T=>{T.ok&&T.data&&a(T.data.content)})},[r==null?void 0:r.status,t]);const x=async T=>{u(!0),s(void 0),(await T()).ok||s("Action failed — check the current wizard state and try again."),u(!1),v()};U.useEffect(()=>{r&&b===null&&g(String(r.app.port??5e3))},[r,b]);const E=()=>{const T=Number(b);if(!Number.isInteger(T)||T<1024||T>65535){s("Enter a port between 1024 and 65535.");return}x(()=>we.cicd.appStart(t,T))};if(!r)return p.jsx(Cr,{children:p.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading…"})});const S=r.status;return p.jsx(Cr,{children:p.jsxs("div",{className:"flex h-full flex-col space-y-4 p-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Nu,{d:kye,className:"h-4 w-4 text-primary"}),p.jsx("h1",{className:"text-lg font-semibold",children:"CI/CD"}),p.jsx("span",{className:"rounded bg-muted px-2 py-0.5 text-[10px] uppercase","data-testid":"cicd-status",children:S}),p.jsxs(Ie,{size:"sm",variant:"outline",className:"ml-auto h-7 gap-1 px-2 text-xs",disabled:h||c,onClick:C,"data-testid":"cicd-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3 w-3 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan status"]})]}),p.jsx("p",{className:"text-xs text-muted-foreground",children:"The AI infers a deployment plan from ENVIRONMENT.md / DEVTOOL.md, you approve it, and the generated app starts and stops this project's applications for QA (builds happen in the develop workflow)."}),l&&p.jsx("p",{className:"text-xs text-destructive","data-testid":"cicd-error",children:l}),r.stale&&p.jsx(Et,{className:"border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950/20",children:p.jsxs(St,{className:"flex items-center justify-between px-4 py-3",children:[p.jsx("p",{className:"text-xs text-amber-800 dark:text-amber-300","data-testid":"cicd-stale-banner",children:"ENVIRONMENT.md / DEVTOOL.md changed since this plan — re-plan before generating."}),p.jsx(Ie,{className:"h-7 px-3 text-xs",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-replan",children:"Re-plan"})]})}),S==="draft"&&p.jsx(Et,{children:p.jsxs(St,{className:"space-y-3 px-4 py-4",children:[p.jsx("p",{className:"text-sm",children:"No deployment plan yet. Start by letting the AI infer one from this project's config."}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-plan",children:"Plan deployment"})]})}),S==="planning"&&r.planCommand&&p.jsxs(p.Fragment,{children:[p.jsx(tO,{title:"Step 1 — run the planning skill",hint:"Paste this command in the Terminal below. The plan lands in cicd/CICD_PLAN.md; this page advances automatically when it completes — or click Rescan to check now.",command:r.planCommand,testid:"cicd-plan-command"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs(Ie,{className:"h-8 gap-1 px-3 text-sm",disabled:h||c,onClick:C,"data-testid":"cicd-plan-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3.5 w-3.5 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan plan result"]}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over — new plan request"})]})]}),(S==="planned"||S==="approved")&&p.jsxs("div",{className:"flex min-h-0 flex-1 flex-col space-y-3",children:[S==="planned"&&p.jsx(Et,{children:p.jsxs(St,{className:"flex items-center gap-3 px-4 py-3",children:[p.jsx("p",{className:"flex-1 text-xs text-muted-foreground",children:"Step 2 — review the plan below. Approving stamps it and unlocks generation."}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c||r.stale,onClick:()=>x(()=>we.cicd.approve(t)),"data-testid":"cicd-approve",children:"Approve"}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-replan-inline",children:"Re-plan"})]})}),S==="approved"&&p.jsxs(Et,{className:"border-blue-200 bg-blue-50 dark:border-blue-900 dark:bg-blue-950/20",children:[p.jsx(Qt,{className:"px-4 pb-2 pt-4",children:p.jsx(nr,{className:"text-sm text-blue-800 dark:text-blue-300",children:"Step 3 — generate the CI/CD app"})}),p.jsxs(St,{className:"space-y-3 px-4 pb-4",children:[p.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-400",children:"Plan approved. Paste this in the Terminal to generate the run app."}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("code",{className:"flex-1 rounded bg-zinc-900 px-2 py-1.5 font-mono text-xs text-green-400","data-testid":"cicd-generate-command",children:r.generateCommand}),p.jsx(b9,{text:r.generateCommand,testid:"cicd-generate-command-copy"}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.generate(t)),"data-testid":"cicd-generate",children:"I've pasted it — start watching"}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over from planning"})]})]})]}),p.jsx(ss,{value:n,onChange:()=>{},previewOnly:!0,height:"calc(100vh - 21rem)",testId:"cicd-plan-content"})]}),S==="generating"&&p.jsxs(p.Fragment,{children:[p.jsx(tO,{title:"Generating…",hint:"Waiting for cicd/CICD_GENERATION.md to reach Status: COMPLETED. If the skill isn't running yet, paste:",command:r.generateCommand,testid:"cicd-generating-command"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs(Ie,{className:"h-8 gap-1 px-3 text-sm",disabled:h||c,onClick:C,"data-testid":"cicd-generate-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3.5 w-3.5 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan generation result"]}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over from planning"})]})]}),S==="generated"&&p.jsxs("div",{className:"flex min-h-0 flex-1 flex-col space-y-3",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:["Port",p.jsx("input",{type:"text",inputMode:"numeric",value:b??"",onChange:T=>g(T.target.value.replace(/[^0-9]/g,"")),disabled:r.app.running||c,className:"h-8 w-16 rounded-md border border-input bg-background px-2 text-xs text-foreground disabled:opacity-60","data-testid":"cicd-port-input","aria-label":"CI/CD app port"})]}),r.app.running?p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.appStop(t)),"data-testid":"cicd-app-stop",children:"Stop app"}):p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c||!r.app.present,onClick:E,"data-testid":"cicd-app-start",children:"Start app"}),!r.stale&&p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>x(()=>we.cicd.plan(t)),"data-testid":"cicd-regenerate",children:"Regenerate"}),r.app.running&&r.app.url&&p.jsx("a",{href:r.app.url,target:"_blank",rel:"noreferrer",className:"text-xs text-primary underline",children:"Open in new tab"})]}),r.app.running&&r.app.url?p.jsx("iframe",{src:r.app.url,title:"CI/CD app",className:"min-h-0 w-full flex-1 rounded-md border border-border bg-background","data-testid":"cicd-iframe"}):p.jsx("p",{className:"text-xs text-muted-foreground","data-testid":"cicd-app-stopped",children:r.app.present?"The CI/CD app is stopped. Start it to build and run this project's applications.":"The generated app was not found on disk — regenerate it."})]})]})})}const rO=[{facet:"user_story",label:"User Stories"},{facet:"nfr",label:"NFR"},{facet:"constraint",label:"Constraints"},{facet:"reference",label:"References"},{facet:"test",label:"Tests"}],J_=[{type:"design_system",label:"Design System"},{type:"architecture_principle",label:"Architecture Principle"},{type:"process_flow",label:"High Level Process Flow"}];function Lye(e){return/\[v\d/.test(e)}function iO({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"m6 9 6 6 6-6"})})}function nO({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"m9 18 6-6-6-6"})})}function Iye(){var z,F,X;const{id:e}=an(),t=Number(e),{applications:r,application:i,version:n}=cs(),[a,l]=U.useState(null),[s,c]=U.useState(null),[u,h]=U.useState("user_story"),[f,b]=U.useState(""),[g,v]=U.useState(!1),[C,y]=U.useState(),[x,E]=U.useState(!1),[S,T]=U.useState({}),A=G=>T(P=>({...P,[G]:!P[G]})),k=s!==null,L=!k&&Lye(f),N=n?n.isLocked:!1;U.useEffect(()=>{var G;l(((G=i==null?void 0:i.modules[0])==null?void 0:G.id)??null),c(null)},[i==null?void 0:i.id]),U.useEffect(()=>{s!==null||a==null||n==null||(y(void 0),v(!1),we.context.getFacet(t,a,u,n.id).then(G=>{var P;b(((P=G.data)==null?void 0:P.content)??"")}))},[t,a,s,u,n]),U.useEffect(()=>{s==null||i==null||(y(void 0),v(!1),we.context.getSection(t,i.id,s).then(G=>{var P;b(((P=G.data)==null?void 0:P.content)??"")}))},[t,s,i]);const O=async()=>{if(y(void 0),k){if(i==null||s==null)return;if(!(await we.context.saveSection(t,i.id,s,f)).ok){y("Save failed");return}v(!0);return}if(a==null||n==null)return;const G=await we.context.saveFacet(t,a,u,f,n.id);if(G.status===422){y("Version tags must not be entered manually");return}if(!G.ok){y("Save failed");return}v(!0)},B=G=>{const P=gk(G);b(D=>D?`${D}
|
|
472
|
+
${te}`:te),B(!1)}}),p.jsx(ta,{open:H,onOpenChange:W,children:p.jsxs(bl,{children:[p.jsx(ra,{children:p.jsx(ia,{children:"Reload from disk?"})}),p.jsxs("p",{className:"text-xs text-muted-foreground","data-testid":"brainstorm-refresh-warning",children:["The editor has ",p.jsx("strong",{children:"unsaved changes"})," that reloading will discard. If you still need your current markdown, copy it somewhere else before continuing."]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:()=>W(!1),children:"Cancel"}),p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:()=>{W(!1),D(!0)},"data-testid":"brainstorm-refresh-confirm",children:"Discard and reload"})]})]})}),p.jsx(ta,{open:$!==null,onOpenChange:pe=>!pe&&Y(null),children:p.jsxs(bl,{children:[p.jsx(ra,{children:p.jsx(ia,{children:"Replace with the brainstorm template?"})}),p.jsxs("p",{className:"text-xs text-muted-foreground","data-testid":"brainstorm-template-warning",children:["The editor already has content, and copying the template will"," ",p.jsx("strong",{children:"replace all of it"}),". If you still need your current markdown, copy it somewhere else before continuing."]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",size:"sm",className:"h-8 text-xs",onClick:()=>Y(null),children:"Cancel"}),p.jsx(Ie,{size:"sm",className:"h-8 text-xs",onClick:()=>{$!==null&&c($),Y(null)},"data-testid":"brainstorm-template-confirm",children:"Replace content"})]})]})})]})}const wye=5e3;function Nu({d:e,className:t}){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t??"h-4 w-4","aria-hidden":"true",children:p.jsx("path",{d:e})})}const kye="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2zM9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",Aye="M9 9V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4M3 11a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",Nye="M20 6 9 17l-5-5",Q_="M23 4L23 10L17 10 M1 20L1 14L7 14 M3.51 9a9 9 0 0 1 14.85-3.36L23 10 M1 14l4.64 4.36A9 9 0 0 0 20.49 15l3.85-3.36";function b9({text:e,testid:t}){const[r,i]=U.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(e)}catch{}i(!0),setTimeout(()=>i(!1),1500)};return p.jsxs(Ie,{size:"sm",variant:"outline",className:"h-7 gap-1 px-2 text-xs",onClick:n,"data-testid":t,children:[r?p.jsx(Nu,{d:Nye,className:"h-3 w-3 text-green-500"}):p.jsx(Nu,{d:Aye,className:"h-3 w-3"}),r?"Copied!":"Copy"]})}function tO({title:e,hint:t,command:r,testid:i}){return p.jsxs(Et,{className:"border-blue-200 bg-blue-50 dark:border-blue-900 dark:bg-blue-950/20",children:[p.jsx(Qt,{className:"px-4 pb-2 pt-4",children:p.jsx(nr,{className:"text-sm text-blue-800 dark:text-blue-300",children:e})}),p.jsxs(St,{className:"space-y-3 px-4 pb-4",children:[p.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-400",children:t}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("code",{className:"flex-1 rounded bg-zinc-900 px-2 py-1.5 font-mono text-xs text-green-400","data-testid":i,children:r}),p.jsx(b9,{text:r,testid:`${i}-copy`})]})]})]})}function Rye(){const{id:e}=an(),t=Number(e),[r,i]=U.useState(null),[n,a]=U.useState(""),[l,s]=U.useState(),[c,u]=U.useState(!1),[h,f]=U.useState(!1),b=U.useCallback(()=>{we.cicd.get(t).then(E=>{E.ok&&E.data&&i(E.data)})},[t]),g=U.useCallback(async()=>{f(!0),s(void 0);try{const E=await we.cicd.rescan(t);if(E.ok&&E.data){if(i(E.data),E.data.status==="planned"||E.data.status==="approved"){const S=await we.cicd.planContent(t);S.ok&&S.data&&a(S.data.content)}}else s("Rescan failed — try again.")}finally{f(!1)}},[t]);U.useEffect(()=>{b()},[b]);const v=(r==null?void 0:r.status)==="planning"||(r==null?void 0:r.status)==="generating";U.useEffect(()=>{if(!v)return;const E=setInterval(b,wye);return()=>clearInterval(E)},[v,b]),U.useEffect(()=>{((r==null?void 0:r.status)==="planned"||(r==null?void 0:r.status)==="approved")&&we.cicd.planContent(t).then(E=>{E.ok&&E.data&&a(E.data.content)})},[r==null?void 0:r.status,t]);const C=async E=>{u(!0),s(void 0),(await E()).ok||s("Action failed — check the current wizard state and try again."),u(!1),b()},y=()=>C(()=>we.cicd.appStart(t));if(!r)return p.jsx(Cr,{children:p.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading…"})});const x=r.status;return p.jsx(Cr,{children:p.jsxs("div",{className:"flex h-full flex-col space-y-4 p-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Nu,{d:kye,className:"h-4 w-4 text-primary"}),p.jsx("h1",{className:"text-lg font-semibold",children:"CI/CD"}),p.jsx("span",{className:"rounded bg-muted px-2 py-0.5 text-[10px] uppercase","data-testid":"cicd-status",children:x}),p.jsxs(Ie,{size:"sm",variant:"outline",className:"ml-auto h-7 gap-1 px-2 text-xs",disabled:h||c,onClick:g,"data-testid":"cicd-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3 w-3 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan status"]})]}),p.jsx("p",{className:"text-xs text-muted-foreground",children:"The AI infers a deployment plan from ENVIRONMENT.md / DEVTOOL.md, you approve it, and the generated app starts and stops this project's applications for QA (builds happen in the develop workflow)."}),l&&p.jsx("p",{className:"text-xs text-destructive","data-testid":"cicd-error",children:l}),r.stale&&p.jsx(Et,{className:"border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950/20",children:p.jsxs(St,{className:"flex items-center justify-between px-4 py-3",children:[p.jsx("p",{className:"text-xs text-amber-800 dark:text-amber-300","data-testid":"cicd-stale-banner",children:"ENVIRONMENT.md / DEVTOOL.md changed since this plan — re-plan before generating."}),p.jsx(Ie,{className:"h-7 px-3 text-xs",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-replan",children:"Re-plan"})]})}),x==="draft"&&p.jsx(Et,{children:p.jsxs(St,{className:"space-y-3 px-4 py-4",children:[p.jsx("p",{className:"text-sm",children:"No deployment plan yet. Start by letting the AI infer one from this project's config."}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-plan",children:"Plan deployment"})]})}),x==="planning"&&r.planCommand&&p.jsxs(p.Fragment,{children:[p.jsx(tO,{title:"Step 1 — run the planning skill",hint:"Paste this command in the Terminal below. The plan lands in cicd/CICD_PLAN.md; this page advances automatically when it completes — or click Rescan to check now.",command:r.planCommand,testid:"cicd-plan-command"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs(Ie,{className:"h-8 gap-1 px-3 text-sm",disabled:h||c,onClick:g,"data-testid":"cicd-plan-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3.5 w-3.5 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan plan result"]}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over — new plan request"})]})]}),(x==="planned"||x==="approved")&&p.jsxs("div",{className:"flex min-h-0 flex-1 flex-col space-y-3",children:[x==="planned"&&p.jsx(Et,{children:p.jsxs(St,{className:"flex items-center gap-3 px-4 py-3",children:[p.jsx("p",{className:"flex-1 text-xs text-muted-foreground",children:"Step 2 — review the plan below. Approving stamps it and unlocks generation."}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c||r.stale,onClick:()=>C(()=>we.cicd.approve(t)),"data-testid":"cicd-approve",children:"Approve"}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-replan-inline",children:"Re-plan"})]})}),x==="approved"&&p.jsxs(Et,{className:"border-blue-200 bg-blue-50 dark:border-blue-900 dark:bg-blue-950/20",children:[p.jsx(Qt,{className:"px-4 pb-2 pt-4",children:p.jsx(nr,{className:"text-sm text-blue-800 dark:text-blue-300",children:"Step 3 — generate the CI/CD app"})}),p.jsxs(St,{className:"space-y-3 px-4 pb-4",children:[p.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-400",children:"Plan approved. Paste this in the Terminal to generate the run app."}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("code",{className:"flex-1 rounded bg-zinc-900 px-2 py-1.5 font-mono text-xs text-green-400","data-testid":"cicd-generate-command",children:r.generateCommand}),p.jsx(b9,{text:r.generateCommand,testid:"cicd-generate-command-copy"}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.generate(t)),"data-testid":"cicd-generate",children:"I've pasted it — start watching"}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over from planning"})]})]})]}),p.jsx(ss,{value:n,onChange:()=>{},previewOnly:!0,height:"calc(100vh - 21rem)",testId:"cicd-plan-content"})]}),x==="generating"&&p.jsxs(p.Fragment,{children:[p.jsx(tO,{title:"Generating…",hint:"Waiting for cicd/CICD_GENERATION.md to reach Status: COMPLETED. If the skill isn't running yet, paste:",command:r.generateCommand,testid:"cicd-generating-command"}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs(Ie,{className:"h-8 gap-1 px-3 text-sm",disabled:h||c,onClick:g,"data-testid":"cicd-generate-rescan",children:[p.jsx(Nu,{d:Q_,className:`h-3.5 w-3.5 ${h?"animate-spin":""}`}),h?"Rescanning…":"Rescan generation result"]}),p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-start-over",children:"Start over from planning"})]})]}),x==="generated"&&p.jsxs("div",{className:"flex min-h-0 flex-1 flex-col space-y-3",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[r.app.running&&r.app.port?p.jsxs("span",{className:"text-xs text-muted-foreground","data-testid":"cicd-app-port",title:"Auto-selected listen port",children:["port ",r.app.port]}):null,r.app.running?p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.appStop(t)),"data-testid":"cicd-app-stop",children:"Stop app"}):p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:c||!r.app.present,onClick:y,"data-testid":"cicd-app-start",children:"Start app"}),!r.stale&&p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",disabled:c,onClick:()=>C(()=>we.cicd.plan(t)),"data-testid":"cicd-regenerate",children:"Regenerate"}),r.app.running&&r.app.url&&p.jsx("a",{href:r.app.url,target:"_blank",rel:"noreferrer",className:"text-xs text-primary underline",children:"Open in new tab"})]}),r.app.running&&r.app.url?p.jsx("iframe",{src:r.app.url,title:"CI/CD app",className:"min-h-0 w-full flex-1 rounded-md border border-border bg-background","data-testid":"cicd-iframe"}):p.jsx("p",{className:"text-xs text-muted-foreground","data-testid":"cicd-app-stopped",children:r.app.present?"The CI/CD app is stopped. Start it to build and run this project's applications.":"The generated app was not found on disk — regenerate it."})]})]})})}const rO=[{facet:"user_story",label:"User Stories"},{facet:"nfr",label:"NFR"},{facet:"constraint",label:"Constraints"},{facet:"reference",label:"References"},{facet:"test",label:"Tests"}],J_=[{type:"design_system",label:"Design System"},{type:"architecture_principle",label:"Architecture Principle"},{type:"process_flow",label:"High Level Process Flow"}];function Lye(e){return/\[v\d/.test(e)}function iO({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"m6 9 6 6 6-6"})})}function nO({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"m9 18 6-6-6-6"})})}function Iye(){var z,F,X;const{id:e}=an(),t=Number(e),{applications:r,application:i,version:n}=cs(),[a,l]=U.useState(null),[s,c]=U.useState(null),[u,h]=U.useState("user_story"),[f,b]=U.useState(""),[g,v]=U.useState(!1),[C,y]=U.useState(),[x,E]=U.useState(!1),[S,T]=U.useState({}),A=G=>T(P=>({...P,[G]:!P[G]})),k=s!==null,L=!k&&Lye(f),N=n?n.isLocked:!1;U.useEffect(()=>{var G;l(((G=i==null?void 0:i.modules[0])==null?void 0:G.id)??null),c(null)},[i==null?void 0:i.id]),U.useEffect(()=>{s!==null||a==null||n==null||(y(void 0),v(!1),we.context.getFacet(t,a,u,n.id).then(G=>{var P;b(((P=G.data)==null?void 0:P.content)??"")}))},[t,a,s,u,n]),U.useEffect(()=>{s==null||i==null||(y(void 0),v(!1),we.context.getSection(t,i.id,s).then(G=>{var P;b(((P=G.data)==null?void 0:P.content)??"")}))},[t,s,i]);const O=async()=>{if(y(void 0),k){if(i==null||s==null)return;if(!(await we.context.saveSection(t,i.id,s,f)).ok){y("Save failed");return}v(!0);return}if(a==null||n==null)return;const G=await we.context.saveFacet(t,a,u,f,n.id);if(G.status===422){y("Version tags must not be entered manually");return}if(!G.ok){y("Save failed");return}v(!0)},B=G=>{const P=gk(G);b(D=>D?`${D}
|
|
473
473
|
${P}`:P),v(!1),E(!1)},$=G=>{var K;const P=G.target.closest("a");if(!P)return;const j=(K=(P.getAttribute("href")??"").match(/(?:^|\/)shared_context\/(.+)$/))==null?void 0:K[1];j&&(G.preventDefault(),G.stopPropagation(),window.open(`/projects/${t}/shared-context?file=${encodeURIComponent(j)}`,"_blank"))},Y=G=>(i==null?void 0:i.modules.filter(P=>P.category===G))??[],H=p.jsx("div",{className:"flex items-center gap-2",children:p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",onClick:()=>E(!0),disabled:N,"data-testid":"cross-ref",children:"Shared Context"})}),W=p.jsxs("div",{className:"space-y-2",children:[p.jsx("div",{onClickCapture:$,children:p.jsx(ss,{value:f,onChange:G=>{b(G),v(!1)},readOnly:N,testId:"facet",height:420,className:`rounded-md border ${L?"border-destructive":"border-border"}`})}),L&&p.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive","data-testid":"version-tag-error",children:["Version tags like ",p.jsx("code",{className:"font-mono",children:"[v1.2.4]"})," must not be entered manually. They are applied automatically on save."]}),C&&p.jsx("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive","data-testid":"api-error",children:C}),p.jsxs("div",{className:"flex items-center justify-between",children:[k?p.jsxs("p",{className:"text-xs text-muted-foreground",children:["Fixed PRD section — a single document, not version-tracked.",N&&p.jsx("span",{className:"ml-2 text-yellow-600",children:"read-only"})]}):p.jsxs("p",{className:"text-xs text-muted-foreground",children:["Active version:"," ",p.jsx(ir,{variant:"secondary",className:"py-0 text-[10px]",children:(n==null?void 0:n.semver)??"—"}),N&&p.jsx("span",{className:"ml-2 text-yellow-600",children:"read-only"})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[g&&p.jsx("span",{className:"text-xs text-green-600","data-testid":"saved-flag",children:"Saved"}),p.jsxs(Ie,{className:"h-8 px-3 text-sm",onClick:O,disabled:L||N,"data-testid":"save-facet",children:["Save"," ",k?(z=J_.find(G=>G.type===s))==null?void 0:z.label:(F=rO.find(G=>G.facet===u))==null?void 0:F.label]})]})]})]});return p.jsxs(Cr,{children:[p.jsxs("div",{className:"flex h-full",children:[p.jsxs("div",{className:"w-56 shrink-0 overflow-y-auto border-r bg-muted/20",children:[p.jsx("div",{className:"border-b p-2",children:p.jsx("p",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Modules"})}),p.jsxs("div",{className:"py-1",children:[i&&p.jsxs("div",{children:[p.jsxs("button",{type:"button",onClick:()=>A("reference"),className:"flex w-full items-center gap-1 px-2 py-1 text-xs text-muted-foreground hover:text-foreground","data-testid":"module-group-reference",children:[S.reference?p.jsx(nO,{className:"h-3 w-3 shrink-0"}):p.jsx(iO,{className:"h-3 w-3 shrink-0"}),"Reference"]}),!S.reference&&p.jsx("div",{className:"ml-2",children:J_.map(G=>p.jsx("button",{type:"button",onClick:()=>c(G.type),className:`flex w-full items-center rounded-md px-2 py-1 text-left text-xs transition-colors ${s===G.type?"bg-primary text-primary-foreground":"hover:bg-accent"}`,"data-testid":`section-${G.type}`,children:p.jsx("span",{className:"truncate",children:G.label})},G.type))})]}),["system","business"].map(G=>{const P=Y(G);return P.length===0?null:p.jsxs("div",{children:[p.jsxs("button",{type:"button",onClick:()=>A(G),className:"flex w-full items-center gap-1 px-2 py-1 text-xs capitalize text-muted-foreground hover:text-foreground","data-testid":`module-group-${G}`,children:[S[G]?p.jsx(nO,{className:"h-3 w-3 shrink-0"}):p.jsx(iO,{className:"h-3 w-3 shrink-0"}),G," Module"]}),!S[G]&&p.jsx("div",{className:"ml-2",children:P.map(D=>p.jsx("button",{type:"button",onClick:()=>{l(D.id),c(null)},className:`flex w-full items-center rounded-md px-2 py-1 text-left text-xs transition-colors ${a===D.id&&s===null?"bg-primary text-primary-foreground":"hover:bg-accent"}`,children:p.jsx("span",{className:"truncate",children:D.name})},D.id))})]},G)}),(r.length===0||r.every(G=>G.modules.length===0))&&p.jsx("p",{className:"px-2 py-2 text-xs text-muted-foreground",children:"No modules yet — import a CLAUDE.md via the brainstorm, then rescan."})]})]}),p.jsxs("div",{className:"flex-1 overflow-y-auto",children:[p.jsx("div",{className:"flex items-center justify-between border-b p-3",children:p.jsx("span",{className:"text-sm font-medium",children:"Context Authoring"})}),!k&&p.jsx("div",{className:"flex gap-1 border-b p-2",children:rO.map(G=>p.jsx("button",{type:"button",onClick:()=>h(G.facet),className:`rounded-md px-2.5 py-1 text-xs transition-colors ${u===G.facet?"bg-primary text-primary-foreground":"hover:bg-muted"}`,"data-testid":`facet-tab-${G.facet}`,children:G.label},G.facet))}),p.jsxs("div",{className:"p-3",children:[p.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[p.jsx("p",{className:"text-xs text-muted-foreground",children:k?`${(X=J_.find(G=>G.type===s))==null?void 0:X.label} — a fixed PRD section shared by every version.`:"Each facet persists independently. IDs are immutable once assigned."}),H]}),W]})]})]}),p.jsx(bk,{projectId:t,open:x,onOpenChange:E,onPick:B})]})}function aO({projectId:e,type:t}){const{user:r}=aa(),i=(r==null?void 0:r.role)==="admin",[n,a]=U.useState(null),[l,s]=U.useState(""),[c,u]=U.useState("idle"),[h,f]=U.useState(""),[b,g]=U.useState(!1),v=t==="environment",C=v?"ENVIRONMENT.md":"DEVTOOL.md",y=v?"This project's environment variables and credentials. Stored in plaintext (intentional dev-environment exception — NFRCO20192). Regenerated into the project folder on save.":"This project's development tools and stack used by the AI coding agent. Regenerated into the project folder on save.",x=v?"env":"devtool";U.useEffect(()=>{(v?we.projectConfig.getEnvironment:we.projectConfig.getDevtool)(e).then(k=>{var L;a(k.data),s(((L=k.data)==null?void 0:L.content)??"")})},[v,e]);const E=async()=>{u("saving");const k=await(v?we.projectConfig.saveEnvironment:we.projectConfig.saveDevtool)(e,l);k.ok?(a(k.data),u("saved")):u("error")},S=async()=>{if(l!==((n==null?void 0:n.content)??"")&&!window.confirm(`Reload ${C} from the project folder? Your unsaved edits will be lost.`))return;u("reloading"),f("");const k=await(v?we.projectConfig.reloadEnvironment:we.projectConfig.reloadDevtool)(e);k.ok&&k.data?(a(k.data),s(k.data.content),u("reloaded")):(u("reload-error"),f(k.code==="FILE_NOT_FOUND"?`${C} does not exist in the project folder yet — save once to create it.`:"Reload failed."))},T=(A,k)=>{s(A),a(k),g(!1),u("idle")};return p.jsxs("div",{className:"space-y-4","data-testid":`proj-${x}-tab`,children:[v&&p.jsx("div",{className:"rounded-md border border-yellow-200 bg-yellow-50 px-3 py-2 text-xs text-yellow-700",children:"Credentials are stored verbatim in the database — plaintext is intentional for development environments (NFRCO20192). Never use production credentials here."}),p.jsxs(Et,{"data-testid":`proj-${x}-card`,children:[p.jsx(Qt,{className:"pb-2",children:p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx(nr,{className:"text-sm",children:C}),p.jsx(en,{className:"mt-1 text-xs",children:y})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Ie,{variant:"outline",size:"sm","data-testid":`proj-${x}-reload-btn`,disabled:c==="reloading",onClick:()=>void S(),children:c==="reloading"?"Reloading…":"Reload from File"}),i&&p.jsx(Ie,{variant:"outline",size:"sm","data-testid":`proj-${x}-import-btn`,onClick:()=>g(!0),children:"Import File"})]})]})}),p.jsxs(St,{className:"space-y-2",children:[(n==null?void 0:n.importedAt)&&p.jsxs("p",{className:"text-xs text-muted-foreground","data-testid":`proj-${x}-imported-meta`,children:["Last imported ",new Date(n.importedAt).toLocaleString()," by"," ",n.importedByName??"Admin"]}),p.jsx(ss,{testId:`proj-${x}-md-editor`,value:l,onChange:s}),p.jsxs("div",{className:"flex items-center justify-end gap-2",children:[c==="saved"&&p.jsx("span",{className:"text-xs text-green-600","data-testid":`proj-${x}-saved`,children:"Saved & regenerated"}),c==="error"&&p.jsx("span",{className:"text-xs text-red-600","data-testid":`proj-${x}-error`,children:"Save failed"}),c==="reloaded"&&p.jsx("span",{className:"text-xs text-green-600","data-testid":`proj-${x}-reloaded`,children:"Reloaded from file"}),c==="reload-error"&&p.jsx("span",{className:"text-xs text-red-600","data-testid":`proj-${x}-reload-error`,children:h}),p.jsx(Ie,{"data-testid":`proj-${x}-save`,disabled:c==="saving",onClick:E,children:c==="saving"?"Saving…":"Save & Regenerate"})]})]})]}),i&&p.jsx(Dye,{open:b,projectId:e,type:t,onClose:()=>g(!1),onImported:T,testid:x})]})}function Dye({open:e,projectId:t,type:r,onClose:i,onImported:n,testid:a}){const l=U.useRef(null),[s,c]=U.useState(!1),[u,h]=U.useState(null),f=r==="environment"?"ENVIRONMENT.md":"DEVTOOL.md",b=async()=>{var x,E;const g=(E=(x=l.current)==null?void 0:x.files)==null?void 0:E[0];if(!g){h("Please select a file.");return}c(!0),h(null);const v=await g.text(),y=await(r==="environment"?we.projectConfig.importEnvironment:we.projectConfig.importDevtool)(t,v);c(!1),y.ok&&y.data?n(v,y.data):h("Import failed. Please try again.")};return p.jsx(ta,{open:e,onOpenChange:g=>{g||i()},children:p.jsxs(bl,{"data-testid":`proj-${a}-import-dialog`,children:[p.jsxs(ra,{children:[p.jsxs(ia,{children:["Import ",f]}),p.jsxs(oc,{children:["Upload a predefined ",p.jsx("code",{children:f})," file. Its content will replace this project's current file verbatim and be regenerated into the project folder."]})]}),p.jsxs("div",{className:"space-y-2 py-2",children:[p.jsx("input",{ref:l,type:"file",accept:".md,text/plain","data-testid":`proj-${a}-file-input`,className:"block w-full text-sm text-muted-foreground file:mr-3 file:rounded file:border-0 file:bg-muted file:px-3 file:py-1 file:text-xs file:font-medium"}),u&&p.jsx("p",{className:"text-xs text-red-600",children:u})]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",onClick:i,disabled:s,children:"Cancel"}),p.jsx(Ie,{"data-testid":`proj-${a}-import-confirm`,onClick:b,disabled:s,children:s?"Importing…":"Import & Replace"})]})]})})}const gu="h-8 gap-1 px-3 text-sm";function Oye(){const{id:e}=an(),t=Number(e),{user:r}=aa(),i=nn(),[n,a]=U.useState(null),[l,s]=U.useState(!0),[c,u]=U.useState(!1),[h,f]=U.useState(""),[b,g]=U.useState("main"),[v,C]=U.useState("github"),[y,x]=U.useState(!1);U.useEffect(()=>{we.projects.detail(t).then(S=>a(S.data)).finally(()=>s(!1)),we.projects.get(t).then(S=>{var T,A,k;f(((T=S.data)==null?void 0:T.gitRemoteUrl)??""),g(((A=S.data)==null?void 0:A.defaultBranch)||"main"),C(((k=S.data)==null?void 0:k.gitProvider)??"github")})},[t]);const E=async()=>{x(!1),(await we.projects.updateGitRemote(t,h.trim(),b.trim(),v)).ok&&(x(!0),window.setTimeout(()=>x(!1),2e3))};return l||!n?p.jsx(Cr,{children:p.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading…"})}):p.jsx(Cr,{children:p.jsxs("div",{className:"space-y-4 p-4",children:[p.jsxs("div",{className:"flex items-start justify-between gap-4",children:[p.jsx("h1",{className:"text-lg font-semibold",children:n.name}),n.currentVersionLabel&&p.jsx(ir,{variant:"secondary",className:"shrink-0 font-mono text-xs",children:n.currentVersionLabel})]}),p.jsxs(zf,{defaultValue:"overview",children:[p.jsxs(qf,{children:[p.jsx(Fn,{value:"overview","data-testid":"proj-tab-overview",children:"Overview"}),p.jsx(Fn,{value:"configuration","data-testid":"proj-tab-configuration",children:"Configuration"}),p.jsx(Fn,{value:"environment","data-testid":"proj-tab-environment",children:"ENVIRONMENT.md"}),p.jsx(Fn,{value:"devtool","data-testid":"proj-tab-devtool",children:"DEVTOOL.md"})]}),p.jsxs(ya,{value:"overview",className:"mt-4 space-y-4",children:[p.jsxs(Et,{children:[p.jsx(Qt,{className:"px-4 pt-4 pb-2",children:p.jsx(nr,{className:"text-sm",children:"Applications"})}),p.jsx(St,{className:"space-y-2 px-4 pb-4",children:n.applicationPhases.length===0?p.jsx("p",{className:"text-xs text-muted-foreground",children:"No applications yet — import them by rescanning CLAUDE.md after the brainstorm."}):n.applicationPhases.map(S=>p.jsx("div",{className:"flex items-center rounded-md border px-3 py-2",children:p.jsx("p",{className:"font-mono text-sm font-medium",children:S.applicationName})},S.applicationId))})]}),p.jsxs("div",{className:"flex flex-wrap gap-2",children:[p.jsx(Ie,{variant:"outline",className:gu,onClick:()=>we.projects.regenerate(t),children:"Regenerate CO2 Files"}),p.jsx(Ie,{variant:"outline",className:gu,onClick:()=>we.projects.rescanClaudeMd(t),children:"Rescan CLAUDE.md"}),(r==null?void 0:r.role)==="admin"&&p.jsx(Ie,{variant:"outline",className:`${gu} border-destructive/30 text-destructive hover:bg-destructive/10`,onClick:()=>u(!0),children:"Archive Project"})]})]}),p.jsx(ya,{value:"configuration",className:"mt-4 space-y-4",children:p.jsxs(Et,{children:[p.jsx(Qt,{className:"px-4 pt-4 pb-2",children:p.jsx(nr,{className:"text-sm",children:"Git Configuration"})}),p.jsxs(St,{className:"space-y-4 px-4 pb-4",children:[p.jsxs("div",{className:"space-y-2",children:[p.jsx(jt,{htmlFor:"git-provider",className:"text-xs text-muted-foreground",children:"Provider — the git host these operations authenticate against."}),p.jsxs("select",{id:"git-provider","data-testid":"git-provider-select",value:v,onChange:S=>C(S.target.value),className:"flex h-9 w-full max-w-xs rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:[p.jsx("option",{value:"github",children:"GitHub"}),p.jsx("option",{value:"gitlab",children:"GitLab"})]})]}),p.jsxs("div",{className:"space-y-2",children:[p.jsx(jt,{htmlFor:"git-remote",className:"text-xs text-muted-foreground",children:"Push destination (https or ssh). Leave empty to skip pushing. Your profile PAT authenticates the push."}),p.jsx(Xt,{id:"git-remote","data-testid":"git-remote-input",value:h,onChange:S=>f(S.target.value),placeholder:"https://github.com/owner/repo.git",className:"max-w-xl font-mono text-xs"})]}),p.jsxs("div",{className:"space-y-2",children:[p.jsxs(jt,{htmlFor:"default-branch",className:"text-xs text-muted-foreground",children:["Default branch — the trunk branch release branches merge back into on a version cut. Defaults to ",p.jsx("code",{className:"font-mono",children:"main"}),"."]}),p.jsx(Xt,{id:"default-branch","data-testid":"default-branch-input",value:b,onChange:S=>g(S.target.value),placeholder:"main",className:"max-w-xs font-mono text-xs"})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Ie,{variant:"outline",className:gu,"data-testid":"git-remote-save",onClick:E,children:"Save"}),y&&p.jsx("span",{className:"text-xs text-green-600","data-testid":"git-remote-saved",children:"Saved"})]})]})]})}),p.jsx(ya,{value:"environment",className:"mt-4",children:p.jsx(aO,{projectId:t,type:"environment"})}),p.jsx(ya,{value:"devtool",className:"mt-4",children:p.jsx(aO,{projectId:t,type:"devtool"})})]}),p.jsxs(ta,{open:c,onOpenChange:u,children:[p.jsxs(ra,{children:[p.jsxs(ia,{children:['Archive "',n.name,'"?']}),p.jsx(oc,{children:"The project will be removed from the active list. All data is retained — no records are deleted."})]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",className:gu,onClick:()=>u(!1),children:"Cancel"}),p.jsx(Ie,{variant:"destructive",className:gu,onClick:()=>we.projects.archive(t).then(()=>i("/projects")),children:"Archive Project"})]})]})]})})}const y9=U.forwardRef(({className:e,...t},r)=>p.jsx("textarea",{ref:r,className:ci("flex min-h-[80px] w-full rounded-md border border-border bg-background px-3 py-2 text-sm","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:cursor-not-allowed disabled:opacity-50",e),...t}));y9.displayName="Textarea";function sO(e){return e===""?[]:(e.endsWith(`
|
|
474
474
|
`)?e.slice(0,-1):e).split(`
|
|
475
475
|
`)}const oO=4e3;function Bye(e,t){const r=sO(e),i=sO(t);if(r.length>oO||i.length>oO){const f=[];return r.forEach((b,g)=>f.push({type:"del",leftNo:g+1,rightNo:null,left:b,right:null})),i.forEach((b,g)=>f.push({type:"add",leftNo:null,rightNo:g+1,left:null,right:b})),f}const n=r.length,a=i.length,l=Array.from({length:n+1},()=>new Array(a+1).fill(0)),s=(f,b)=>{var g;return((g=l[f])==null?void 0:g[b])??0};for(let f=n-1;f>=0;f--){const b=l[f]??[];for(let g=a-1;g>=0;g--)b[g]=r[f]===i[g]?s(f+1,g+1)+1:Math.max(s(f+1,g),s(f,g+1))}const c=[];let u=0,h=0;for(;u<n&&h<a;){const f=r[u]??"",b=i[h]??"";f===b?(c.push({type:"same",leftNo:u+1,rightNo:h+1,left:f,right:b}),u++,h++):s(u+1,h)>=s(u,h+1)?(c.push({type:"del",leftNo:u+1,rightNo:null,left:f,right:null}),u++):(c.push({type:"add",leftNo:null,rightNo:h+1,left:null,right:b}),h++)}for(;u<n;)c.push({type:"del",leftNo:u+1,rightNo:null,left:r[u]??"",right:null}),u++;for(;h<a;)c.push({type:"add",leftNo:null,rightNo:h+1,left:null,right:i[h]??""}),h++;return c}const bu="h-8 gap-1 px-3 text-sm",Mye={modified:{label:"M",classes:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300"},added:{label:"A",classes:"bg-green-100 text-green-700 dark:bg-green-950 dark:text-green-300"},deleted:{label:"D",classes:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300"},renamed:{label:"R",classes:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-300"},untracked:{label:"U",classes:"bg-blue-100 text-blue-700 dark:bg-blue-950 dark:text-blue-300"},conflicted:{label:"!",classes:"bg-red-600 text-white"},typechange:{label:"T",classes:"bg-amber-100 text-amber-700"}};function Fye(){const{id:e}=an(),t=Number(e),[r,i]=U.useState(null),[n,a]=U.useState(null),[l,s]=U.useState(null),[c,u]=U.useState(new Set),[h,f]=U.useState(""),[b,g]=U.useState(null),[v,C]=U.useState(null),[y,x]=U.useState(!1),[E,S]=U.useState(!1),[T,A]=U.useState(null),k=F=>{C(F),window.setTimeout(()=>C(null),2500)},L=U.useCallback(async()=>{var G;const F=await we.git.status(t);i(F.data);const X=new Set((((G=F.data)==null?void 0:G.files)??[]).map(P=>P.path));u(P=>new Set([...P].filter(D=>X.has(D)))),a(P=>P&&X.has(P)?P:null)},[t]);U.useEffect(()=>{L()},[L]),U.useEffect(()=>{if(!n){s(null);return}let F=!1;return we.git.diff(t,n).then(X=>{F||s(X.data)}),()=>{F=!0}},[t,n]);const N=U.useMemo(()=>{const F=(r==null?void 0:r.files)??[];return{conflicts:F.filter(X=>X.conflicted),changes:F.filter(X=>!X.conflicted&&X.status!=="untracked"),untracked:F.filter(X=>X.status==="untracked")}},[r]),O=F=>{u(X=>{const G=new Set(X);return G.has(F)?G.delete(F):G.add(F),G})},B=async()=>{var G;if(g(null),!h.trim()){g("A commit message is required.");return}x(!0);const F=c.size>0?[...c]:void 0,X=await we.git.commit(t,h.trim(),F);x(!1),X.ok?(f(""),u(new Set),k(`Committed ${((G=X.data)==null?void 0:G.commitHash)??""}`.trim()),await L()):g(X.code==="NOTHING_TO_COMMIT"?"No staged changes to commit.":`Commit failed${X.message?`: ${X.message}`:"."}`)},$=async()=>{g(null),x(!0),S(!0);const F=await we.git.pull(t);x(!1),S(!1),F.ok&&F.data?(F.data.status==="up_to_date"?k("Already up to date"):F.data.status==="merged"?k(`Pulled — now at ${F.data.commitHash??""}`.trim()):g("Merge conflicts — resolve them below, then commit to finish the pull."),await L()):g(F.code==="UNCOMMITTED_CHANGES"?"Commit or discard your local changes before pulling.":`Pull failed${F.message?`: ${F.message}`:"."}`)},Y=async F=>{A(null),x(!0);const X=await we.git.discard(t,F);x(!1),X.ok?(k(`Rolled back ${F.length} file(s)`),await L()):g(`Roll back failed${X.message?`: ${X.message}`:"."}`)},H=async(F,X)=>{if(!n)return;x(!0);const G=await we.git.resolve(t,n,F,X);x(!1),G.ok?(k("Conflict resolved"),await L()):g(`Resolve failed${G.message?`: ${G.message}`:"."}`)},W=({f:F})=>{const X=Mye[F.status];return p.jsxs("div",{className:`flex items-center gap-2 px-2 py-1.5 text-sm ${n===F.path?"bg-primary/10":"hover:bg-muted/50"}`,children:[p.jsx("input",{type:"checkbox",checked:c.has(F.path),onChange:()=>O(F.path),"aria-label":`Select ${F.path}`,"data-testid":`git-check-${F.path}`,className:"h-3.5 w-3.5 shrink-0"}),p.jsxs("button",{type:"button",onClick:()=>a(F.path),"data-testid":`git-file-${F.path}`,className:"flex min-w-0 flex-1 items-center gap-2 text-left",children:[p.jsx("span",{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded text-[10px] font-bold ${X.classes}`,title:F.status,children:X.label}),p.jsx("span",{className:"truncate font-mono text-xs",children:F.path}),F.staged&&F.status!=="conflicted"&&p.jsx("span",{className:"shrink-0 text-[9px] uppercase text-green-600",children:"staged"})]}),!F.conflicted&&p.jsx("button",{type:"button",onClick:()=>A([F.path]),title:"Roll back this file","data-testid":`git-discard-${F.path}`,className:"shrink-0 rounded px-1 text-[10px] text-muted-foreground hover:text-red-600",children:"↺"})]})},z=({title:F,files:X})=>X.length===0?null:p.jsxs("div",{children:[p.jsxs("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[F," (",X.length,")"]}),X.map(G=>p.jsx(W,{f:G},G.path))]});return p.jsxs(Cr,{children:[p.jsxs("div",{className:"flex h-full flex-col gap-3 p-4",children:[p.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h1",{className:"text-lg font-semibold",children:"GIT"}),(r==null?void 0:r.branch)&&p.jsx(ir,{variant:"secondary",className:"font-mono text-xs",children:r.branch}),r&&(r.ahead>0||r.behind>0)&&p.jsxs("span",{className:"text-xs text-muted-foreground",children:["↑",r.ahead," ↓",r.behind]})]}),p.jsxs("div",{className:"flex items-center gap-2",children:[v&&p.jsx("span",{className:"text-xs text-green-600","data-testid":"git-toast",children:v}),b&&(r==null?void 0:r.clean)!==!1&&p.jsx("span",{className:"text-xs text-destructive","data-testid":"git-error",children:b}),(r==null?void 0:r.available)&&p.jsx(Ie,{variant:"outline",className:bu,"data-testid":"git-pull",disabled:y||!r.clean,title:r.clean?"Pull the latest changes from the remote":"Commit or discard your local changes before pulling",onClick:()=>void $(),children:E?"Pulling…":`Pull${r.behind>0?` (${r.behind})`:""}`}),p.jsx(Ie,{variant:"outline",className:bu,onClick:()=>void L(),children:"Refresh"})]})]}),r!=null&&r.available?r.clean?p.jsx(Et,{children:p.jsx(St,{className:"p-6 text-center text-sm text-muted-foreground","data-testid":"git-clean",children:"Working tree clean — every change from co2 activity has been committed."})}):p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p.jsx(Xt,{"data-testid":"git-commit-message",value:h,onChange:F=>f(F.target.value),placeholder:"Commit message",className:"max-w-md text-sm"}),p.jsxs(Ie,{className:bu,"data-testid":"git-commit",disabled:y,onClick:()=>void B(),children:["Commit ",c.size>0?`${c.size} selected`:"all"]}),c.size>0&&p.jsxs(Ie,{variant:"outline",className:`${bu} text-destructive`,"data-testid":"git-discard-selected",disabled:y,onClick:()=>A([...c]),children:["Roll back ",c.size]}),b&&p.jsx("span",{className:"text-xs text-destructive","data-testid":"git-error",children:b}),r.hasConflicts&&p.jsx("span",{className:"text-xs font-medium text-red-600","data-testid":"git-conflicts-warning",children:"Merge conflicts — resolve them before committing."})]}),p.jsxs("div",{className:"flex min-h-0 flex-1 gap-3",children:[p.jsx(Et,{className:"w-72 shrink-0 overflow-y-auto",children:p.jsxs(St,{className:"p-1","data-testid":"git-file-list",children:[p.jsx(z,{title:"Conflicts",files:N.conflicts}),p.jsx(z,{title:"Changes",files:N.changes}),p.jsx(z,{title:"Untracked",files:N.untracked})]})}),p.jsx(Et,{className:"min-w-0 flex-1 overflow-hidden",children:p.jsx(St,{className:"h-full min-h-0 p-0",children:!n||!l?p.jsx("div",{className:"flex h-full items-center justify-center p-6 text-sm text-muted-foreground",children:"Select a file to see what changed."}):l.binary?p.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"Binary file — no preview."}):l.conflicted?p.jsx(jye,{diff:l,busy:y,onResolve:H}):p.jsx(Pye,{diff:l})})})]})]}):p.jsx(Et,{children:p.jsx(St,{className:"p-6 text-center text-sm text-muted-foreground",children:"This project has no git repository, so there are no changes to track."})})]}),p.jsxs(ta,{open:T!==null,onOpenChange:F=>!F&&A(null),children:[p.jsxs(ra,{children:[p.jsxs(ia,{children:["Roll back ",(T==null?void 0:T.length)??0," file(s)?"]}),p.jsx(oc,{children:"This discards the working-tree changes and cannot be undone. Tracked files are restored to the last commit; new files are deleted."})]}),p.jsxs(as,{children:[p.jsx(Ie,{variant:"outline",className:bu,onClick:()=>A(null),children:"Cancel"}),p.jsx(Ie,{variant:"destructive",className:bu,"data-testid":"git-discard-confirm",onClick:()=>T&&void Y(T),children:"Roll back"})]})]})]})}function Pye({diff:e}){const t=U.useMemo(()=>Bye(e.oldContent??"",e.newContent??""),[e.oldContent,e.newContent]);return p.jsxs("div",{className:"flex h-full flex-col",children:[p.jsxs("div",{className:"flex shrink-0 border-b border-border text-[10px] font-semibold uppercase text-muted-foreground",children:[p.jsx("div",{className:"flex-1 px-3 py-1",children:"Before (HEAD)"}),p.jsx("div",{className:"flex-1 border-l border-border px-3 py-1",children:"After (working)"})]}),p.jsx("div",{className:"min-h-0 flex-1 overflow-auto font-mono text-xs","data-testid":"git-diff",children:p.jsx("table",{className:"w-full border-collapse",children:p.jsx("tbody",{children:t.map((r,i)=>p.jsxs("tr",{children:[p.jsxs("td",{className:`w-1/2 whitespace-pre-wrap break-all px-3 align-top ${r.type==="del"?"bg-red-500/10":""}`,children:[p.jsx("span",{className:"mr-2 select-none text-muted-foreground/50",children:r.leftNo??""}),r.left]}),p.jsxs("td",{className:`w-1/2 whitespace-pre-wrap break-all border-l border-border px-3 align-top ${r.type==="add"?"bg-green-500/10":""}`,children:[p.jsx("span",{className:"mr-2 select-none text-muted-foreground/50",children:r.rightNo??""}),r.right]})]},`${r.leftNo}-${r.rightNo}-${i}`))})})})]})}function jye({diff:e,busy:t,onResolve:r}){const[i,n]=U.useState(e.newContent??e.ours??"");return U.useEffect(()=>{n(e.newContent??e.ours??"")},[e.path]),p.jsxs("div",{className:"flex h-full flex-col","data-testid":"git-conflict",children:[p.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2 border-b border-border px-3 py-2",children:[p.jsxs("span",{className:"text-xs font-medium text-red-600",children:["Conflict: ",e.path]}),p.jsxs("div",{className:"ml-auto flex gap-2",children:[p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",disabled:t,"data-testid":"git-take-ours",onClick:()=>r("ours"),children:"Use mine"}),p.jsx(Ie,{variant:"outline",className:"h-7 px-2 text-xs",disabled:t,"data-testid":"git-take-theirs",onClick:()=>r("theirs"),children:"Use remote"}),p.jsx(Ie,{className:"h-7 px-2 text-xs",disabled:t,"data-testid":"git-resolve-manual",onClick:()=>r("manual",i),children:"Save merge"})]})]}),p.jsxs("div",{className:"grid min-h-0 flex-1 grid-cols-3 gap-px bg-border",children:[p.jsx(lO,{title:"Mine (local)",content:e.ours??""}),p.jsxs("div",{className:"flex min-h-0 flex-col bg-background",children:[p.jsx("div",{className:"shrink-0 bg-muted/40 px-2 py-1 text-[10px] font-semibold uppercase text-muted-foreground",children:"Merged (editable)"}),p.jsx(y9,{value:i,onChange:a=>n(a.target.value),"data-testid":"git-merge-editor",className:"min-h-0 flex-1 resize-none rounded-none border-0 font-mono text-xs focus-visible:ring-0",spellCheck:!1})]}),p.jsx(lO,{title:"Remote (theirs)",content:e.theirs??""})]})]})}function lO({title:e,content:t}){return p.jsxs("div",{className:"flex min-h-0 flex-col bg-background",children:[p.jsx("div",{className:"shrink-0 bg-muted/40 px-2 py-1 text-[10px] font-semibold uppercase text-muted-foreground",children:e}),p.jsx("pre",{className:"min-h-0 flex-1 overflow-auto whitespace-pre-wrap break-all p-2 font-mono text-xs",children:t})]})}function Uye({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})}function $ye({className:e}){return p.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:p.jsx("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})})}function Hye({className:e}){return p.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[p.jsx("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),p.jsx("path",{d:"M22 4 12 14.01l-3-3"})]})}function zye({className:e}){return p.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[p.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"}),p.jsx("path",{d:"M12 9v4M12 17h.01"})]})}const cO=[{id:"folder",label:"Source Folder"},{id:"preview",label:"Scan Preview"},{id:"report",label:"Import Report"}],qye={brainstorm:"Brainstorm",prepared:"Prepared",developed:"Developed",qa:"QA"},uO={project:"Project",application:"Applications",module:"Modules",version:"Versions",requirement:"Requirements",artifact:"Artifacts",bug:"Bugs",conductor_run:"Workflow Runs",project_config:"Project Config"};function dO({warnings:e}){return e.length===0?null:p.jsx("div",{className:"space-y-1","data-testid":"import-warnings",children:e.map((t,r)=>p.jsxs("div",{className:"flex items-start gap-2 rounded-md border px-3 py-2 text-xs",children:[p.jsx(zye,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 ${t.level==="warning"?"text-amber-500":"text-muted-foreground"}`}),p.jsxs("div",{children:[p.jsx("span",{className:"font-mono text-[10px] text-muted-foreground",children:t.code}),p.jsx("p",{children:t.message})]})]},`${t.code}-${r}`))})}function Gye(){const e=nn(),[t,r]=Fb(),i=t.get("step")||"folder",n=F=>{const X=new URLSearchParams(t);X.set("step",F),r(X)},[a,l]=U.useState(""),[s,c]=U.useState(null),[u,h]=U.useState(""),f=U.useCallback(async()=>{c(null);const F=await we.projectImport.candidates();c(F.data??[]),F.ok||l(F.code??"Failed to list import candidates")},[]);U.useEffect(()=>{f()},[f]);const[b,g]=U.useState(!1),[v,C]=U.useState(null),[y,x]=U.useState(""),[E,S]=U.useState(""),[T,A]=U.useState(!1),[k,L]=U.useState(!1),N=async F=>{l(""),g(!0);const X=await we.projectImport.scan(F);if(g(!1),!X.ok||!X.data){l(X.code??"Scan failed");return}const G=X.data;C(G),x(G.projectName??F),S(G.projectCode??""),A(G.hasEnvironmentMd),L(G.hasDevtoolMd),n("preview")},[O,B]=U.useState(!1),[$,Y]=U.useState(null),H=(v==null?void 0:v.warnings.some(F=>F.code==="DUPLICATE_PROJECT_NAME"))??!1,W=async()=>{if(!v)return;l(""),B(!0),n("report");const F=await we.projectImport.run({folderName:v.folderName,name:y.trim()||void 0,code:E.trim()||void 0,adoptEnvironment:T,adoptDevtool:k});if(B(!1),!F.ok||!F.data){l(F.code==="PROJECT_EXISTS"?"A project with this name already exists — go back and rename.":F.code??"Import failed");return}Y(F.data)},z=cO.findIndex(F=>F.id===i);return p.jsx(Cr,{children:p.jsxs("div",{className:"mx-auto max-w-5xl space-y-4 p-4",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"text-lg font-semibold",children:"Import Project"}),p.jsx("p",{className:"text-sm text-muted-foreground",children:"Register an existing CO2 repository from the Workspace folder — in place, without copying. The import itself never modifies the repository."})]}),p.jsx("div",{className:"flex items-center gap-2 text-xs","data-testid":"import-stepper",children:cO.map((F,X)=>p.jsxs("div",{className:"flex items-center gap-2",children:[X>0&&p.jsx("div",{className:"h-px w-8 bg-border"}),p.jsx(ir,{variant:X<=z?"default":"outline",children:`${X+1}. ${F.label}`})]},F.id))}),a&&p.jsx("p",{className:"rounded-md border border-destructive/50 px-3 py-2 text-sm text-destructive","data-testid":"import-error",children:a}),i==="folder"&&p.jsxs(Et,{children:[p.jsxs(Qt,{children:[p.jsx(nr,{className:"text-base",children:"Choose the repository folder"}),p.jsx(en,{children:"Folders directly under the Workspace root that carry a CLAUDE.md and are not yet registered as a project."})]}),p.jsxs(St,{className:"space-y-3",children:[s===null?p.jsx("p",{className:"text-sm text-muted-foreground",children:"Scanning the Workspace…"}):s.length===0?p.jsx("p",{className:"text-sm text-muted-foreground","data-testid":"no-candidates",children:"No importable folders found in the Workspace."}):p.jsx("div",{className:"space-y-2","data-testid":"import-candidates",children:s.map(F=>p.jsxs("label",{className:`flex cursor-pointer items-center gap-3 rounded-md border px-3 py-2 text-sm ${u===F.folderName?"border-primary bg-accent":""}`,children:[p.jsx("input",{type:"radio",name:"import-folder",value:F.folderName,checked:u===F.folderName,onChange:()=>h(F.folderName)}),p.jsx($ye,{className:"h-4 w-4 text-muted-foreground"}),p.jsx("span",{className:"font-mono",children:F.folderName}),F.projectName&&p.jsxs("span",{className:"text-muted-foreground",children:[F.projectName,F.projectCode?` (${F.projectCode})`:""]}),p.jsx("span",{className:"ml-auto text-xs text-muted-foreground",children:F.claudeMdPath})]},F.folderName))}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",onClick:()=>void f(),children:"Refresh"}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(Ie,{variant:"ghost",className:"h-8 px-3 text-sm",onClick:()=>e("/projects"),children:"Cancel"}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:!u||b,onClick:()=>void N(u),"data-testid":"scan-folder",children:b?"Scanning…":"Scan →"})]})]})]})]}),i==="preview"&&v&&p.jsx("div",{className:"space-y-4",children:p.jsxs(Et,{children:[p.jsxs(Qt,{children:[p.jsxs(nr,{className:"text-base",children:[v.folderName,p.jsx(ir,{className:"ml-2",variant:"outline","data-testid":"scan-phase",children:qye[v.workflowPhase]})]}),p.jsx(en,{children:v.versionUnion.length>0?p.jsxs(p.Fragment,{children:["Versions ",v.versionUnion.join(", ")," — current"," ",p.jsx("span",{className:"font-medium",children:v.currentVersion})]}):"No version tags found — a v1.0.0 baseline will be created."})]}),p.jsxs(St,{className:"space-y-3",children:[p.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[p.jsxs("div",{className:"space-y-1",children:[p.jsx(jt,{htmlFor:"import-name",children:"Project name"}),p.jsx(Xt,{id:"import-name",value:y,onChange:F=>x(F.target.value),"data-testid":"import-name"}),H&&p.jsx("p",{className:"text-xs text-amber-600",children:"A project with the parsed name already exists — choose a different name."})]}),p.jsxs("div",{className:"space-y-1",children:[p.jsx(jt,{htmlFor:"import-code",children:"Project code"}),p.jsx(Xt,{id:"import-code",value:E,onChange:F=>S(F.target.value.toUpperCase()),maxLength:4,"data-testid":"import-code"})]})]}),p.jsxs(gp,{"data-testid":"scan-apps",children:[p.jsx(bp,{children:p.jsxs(Ua,{children:[p.jsx(pi,{children:"Application"}),p.jsx(pi,{children:"Modules"}),p.jsx(pi,{children:"Versions"}),p.jsx(pi,{children:"Artifacts"}),p.jsx(pi,{children:"Bugs"}),p.jsx(pi,{children:"Phases"})]})}),p.jsx(yp,{children:v.apps.map(F=>{const X=Object.values(F.artifactCounts).reduce((G,P)=>G+(P??0),0);return p.jsxs(Ua,{children:[p.jsxs(ti,{children:[p.jsx("span",{className:"font-medium",children:F.heading}),p.jsxs("span",{className:"ml-2 font-mono text-xs text-muted-foreground",children:[F.folderRel??"no folder"," · ",F.requirementIdAppCode]})]}),p.jsx(ti,{children:F.moduleCount}),p.jsx(ti,{className:"text-xs",children:F.versions.length>0?F.versions.join(", "):"—"}),p.jsx(ti,{children:X}),p.jsx(ti,{children:F.bugCount}),p.jsxs(ti,{className:"space-x-1",children:[F.prepareCompleted&&p.jsx(ir,{variant:"outline",children:"prepared"}),F.developCompleted&&p.jsx(ir,{variant:"outline",children:"developed"})]})]},F.name)})})]}),(v.hasEnvironmentMd||v.hasDevtoolMd)&&p.jsxs("div",{className:"space-y-2 rounded-md border p-3",children:[p.jsx("p",{className:"text-sm font-medium",children:"Project configuration"}),v.hasEnvironmentMd&&p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("input",{type:"checkbox",checked:T,onChange:F=>A(F.target.checked),"data-testid":"adopt-environment"}),"Adopt the repository's ENVIRONMENT.md into the project's config"]}),v.hasDevtoolMd&&p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("input",{type:"checkbox",checked:k,onChange:F=>L(F.target.checked),"data-testid":"adopt-devtool"}),"Adopt the repository's DEVTOOL.md into the project's config"]})]}),p.jsx(dO,{warnings:v.warnings}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx(Ie,{variant:"ghost",className:"h-8 px-3 text-sm",onClick:()=>n("folder"),children:"← Back"}),p.jsx(Ie,{className:"h-8 px-3 text-sm",disabled:O||!y.trim()||H&&y.trim()===v.projectName,onClick:()=>void W(),"data-testid":"run-import",children:"Import Project"})]})]})]})}),i==="report"&&p.jsxs(Et,{children:[p.jsxs(Qt,{children:[p.jsx(nr,{className:"flex items-center gap-2 text-base",children:O?p.jsxs(p.Fragment,{children:[p.jsx(Uye,{className:"h-4 w-4 animate-spin"})," Importing…"]}):$?p.jsxs(p.Fragment,{children:[p.jsx(Hye,{className:"h-4 w-4 text-green-600"})," Import complete"]}):"Import failed"}),$&&p.jsx(en,{children:"The repository was registered without modifying any of its files. Later actions (facet saves, workflow runs, BUG.md generation) write to it as part of normal CO2 development."})]}),p.jsxs(St,{className:"space-y-3",children:[$&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"grid grid-cols-3 gap-2","data-testid":"import-counts",children:Object.entries($.counts).map(([F,X])=>p.jsxs("div",{className:"rounded-md border px-3 py-2 text-sm",children:[p.jsx("p",{className:"text-xs text-muted-foreground",children:uO[F]}),p.jsxs("p",{className:"font-medium",children:[X.imported," imported",X.skipped>0&&p.jsxs("span",{className:"text-muted-foreground",children:[" · ",X.skipped," skipped"]})]})]},F))}),p.jsxs("details",{className:"rounded-md border p-3 text-sm",children:[p.jsxs("summary",{className:"cursor-pointer font-medium",children:["Detailed report (",$.items.length," items)"]}),p.jsx("ul",{className:"mt-2 max-h-72 space-y-1 overflow-y-auto","data-testid":"import-report-items",children:$.items.map((F,X)=>p.jsxs("li",{className:"flex items-start gap-2 text-xs",children:[p.jsx(ir,{variant:F.action==="imported"?"default":"outline",children:F.action}),p.jsxs("span",{children:[p.jsx("span",{className:"font-medium",children:uO[F.entity]})," —"," ",F.label,F.detail&&p.jsxs("span",{className:"text-muted-foreground",children:[" · ",F.detail]})]})]},`${F.entity}-${X}`))})]}),p.jsx(dO,{warnings:$.warnings}),p.jsx("div",{className:"flex justify-end",children:p.jsx(Ie,{className:"h-8 px-3 text-sm",onClick:()=>e(`/projects/${$.projectId}`),"data-testid":"open-imported-project",children:"Open project →"})})]}),!$&&!O&&p.jsx(Ie,{variant:"outline",className:"h-8 px-3 text-sm",onClick:()=>n("preview"),children:"← Back to preview"})]})]})]})})}function tg({d:e,className:t}){return p.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t??"h-3.5 w-3.5","aria-hidden":"true",children:p.jsx("path",{d:e})})}const Wye="M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",Yye="M6 3l14 9-14 9V3z",Vye="M5 5h14v14H5z",Xye="M3 10.5 12 3l9 7.5M5 9.5V21h14V9.5M9 21v-6h6v6";function Kye(){const{id:e}=an(),t=Number(e),[r,i]=U.useState(null),[n,a]=U.useState(""),[l,s]=U.useState(null),[c,u]=U.useState(""),[h,f]=U.useState(null),[b,g]=U.useState(0),v=U.useRef(!1),C=U.useCallback(async()=>{if(!t)return;const A=await we.artifacts.mockupHub(t);A.ok&&A.data&&(i(A.data),v.current||(v.current=!0,a(String(A.data.suggestedPort))))},[t]);U.useEffect(()=>{v.current=!1,i(null),u(""),C();const A=setInterval(C,5e3);return()=>clearInterval(A)},[C]),U.useEffect(()=>{t&&we.artifacts.list(t).then(A=>{var k;f(((k=A.data)==null?void 0:k.find(L=>L.artifactType==="mockup"))??null)})},[t]);const y=U.useCallback(async()=>{const A=Number(n);if(!Number.isInteger(A)||A<1024||A>65535){u("Enter a port between 1024 and 65535.");return}u(""),s("start");const k=await we.artifacts.startMockupHub(t,A);s(null),k.ok&&k.data?(i(k.data),k.data.port&&a(String(k.data.port)),k.data.running||u("The hub did not come up — check the mockup/server.js logs (is the port free?).")):u(k.code??"Failed to start the Mockup Hub")},[t,n]),x=U.useCallback(async()=>{u(""),s("stop");const A=await we.artifacts.stopMockupHub(t);s(null),A.ok&&A.data?(i(A.data.status),A.data.stopped||u("This hub was not started by co2-cli — stop it from the terminal it runs in.")):u(A.code??"Failed to stop the Mockup Hub")},[t]),E=(r==null?void 0:r.present)===!0&&r.running&&!!r.url,S=we.artifacts.mockupHubProxyUrl(t),T=p.jsxs("div",{className:"flex items-center gap-2","data-testid":"mockup-topbar",children:[p.jsxs("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground","data-testid":"mockup-hub-state",children:[p.jsx("span",{className:`h-2 w-2 rounded-full ${E?"bg-emerald-500":"bg-muted-foreground/40"}`}),r===null?"Probing…":E?"Hub running":"Hub stopped"]}),p.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:["Port",p.jsx("input",{type:"text",inputMode:"numeric",value:n,onChange:A=>a(A.target.value.replace(/[^0-9]/g,"")),disabled:E,className:"h-7 w-16 rounded-md border border-input bg-background px-2 text-xs text-foreground disabled:opacity-60","data-testid":"mockup-port-input","aria-label":"Mockup Hub port"})]}),E?p.jsxs(Ie,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2.5 text-xs",disabled:l!==null,onClick:()=>void x(),"data-testid":"stop-mockup-hub",children:[p.jsx(tg,{d:Vye,className:"h-3 w-3"}),l==="stop"?"Stopping…":"Stop Hub"]}):p.jsxs(Ie,{size:"sm",className:"h-7 gap-1.5 px-2.5 text-xs",disabled:l!==null||(r==null?void 0:r.present)!==!0,onClick:()=>void y(),"data-testid":"start-mockup-hub",children:[p.jsx(tg,{d:Yye,className:"h-3 w-3"}),l==="start"?"Starting…":"Start Hub"]}),E&&p.jsxs(Ie,{variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2.5 text-xs",onClick:()=>g(A=>A+1),title:"Back to the Mockup Hub landing page","data-testid":"mockup-hub-home",children:[p.jsx(tg,{d:Xye,className:"h-3 w-3"}),"Mockup Hub"]}),E&&p.jsx(Ie,{variant:"outline",size:"sm",className:"h-7 w-7 p-0",onClick:()=>window.open(S,"_blank"),"aria-label":"Open mockup hub in new tab","data-testid":"mockup-external-link",children:p.jsx(tg,{d:Wye})}),p.jsx("div",{className:"mx-1 h-4 w-px bg-border"})]});return p.jsx(Cr,{topbar:T,children:p.jsxs("div",{className:"flex h-full w-full flex-col","data-testid":"mockup-body",children:[c&&p.jsx("p",{className:"border-b border-border px-4 py-2 text-xs text-destructive",children:c}),E?p.jsx("iframe",{src:S,className:"h-full w-full flex-1 border-0",title:"Mockup Hub","data-testid":"mockup-hub-frame"},`${S}#${b}`):r!=null&&r.present?p.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 text-sm text-muted-foreground","data-testid":"mockup-hub-down",children:[p.jsx("p",{children:"The centralized Mockup Hub is not running."}),p.jsxs("p",{className:"text-xs",children:["Set the port in the topbar (an unused port from 4000 is suggested) and click"," ",p.jsx("span",{className:"font-medium text-foreground",children:"Start Hub"}),"."]})]}):h?p.jsx("iframe",{src:we.artifacts.contentUrl(h.id),className:"h-full w-full flex-1 border-0",title:"Mockup preview","data-testid":"mockup-static-frame"}):p.jsx("div",{className:"flex flex-1 items-center justify-center px-6 text-center text-sm text-muted-foreground","data-testid":"mockup-empty",children:p.jsxs("p",{children:["No Mockup Hub found for this project — run a ",p.jsx("code",{children:"mockgen-*"})," skill to generate mockups and the hub (",p.jsx("code",{children:"<project>/mockup/server.js"}),")."]})})]})})}var e1,hO;function Zye(){if(hO)return e1;hO=1;function e(le){return le instanceof Map?le.clear=le.delete=le.set=function(){throw new Error("map is read-only")}:le instanceof Set&&(le.add=le.clear=le.delete=function(){throw new Error("set is read-only")}),Object.freeze(le),Object.getOwnPropertyNames(le).forEach(De=>{const ze=le[De],at=typeof ze;(at==="object"||at==="function")&&!Object.isFrozen(ze)&&e(ze)}),le}class t{constructor(De){De.data===void 0&&(De.data={}),this.data=De.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(le){return le.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(le,...De){const ze=Object.create(null);for(const at in le)ze[at]=le[at];return De.forEach(function(at){for(const lr in at)ze[lr]=at[lr]}),ze}const n="</span>",a=le=>!!le.scope,l=(le,{prefix:De})=>{if(le.startsWith("language:"))return le.replace("language:","language-");if(le.includes(".")){const ze=le.split(".");return[`${De}${ze.shift()}`,...ze.map((at,lr)=>`${at}${"_".repeat(lr+1)}`)].join(" ")}return`${De}${le}`};class s{constructor(De,ze){this.buffer="",this.classPrefix=ze.classPrefix,De.walk(this)}addText(De){this.buffer+=r(De)}openNode(De){if(!a(De))return;const ze=l(De.scope,{prefix:this.classPrefix});this.span(ze)}closeNode(De){a(De)&&(this.buffer+=n)}value(){return this.buffer}span(De){this.buffer+=`<span class="${De}">`}}const c=(le={})=>{const De={children:[]};return Object.assign(De,le),De};class u{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(De){this.top.children.push(De)}openNode(De){const ze=c({scope:De});this.add(ze),this.stack.push(ze)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(De){return this.constructor._walk(De,this.rootNode)}static _walk(De,ze){return typeof ze=="string"?De.addText(ze):ze.children&&(De.openNode(ze),ze.children.forEach(at=>this._walk(De,at)),De.closeNode(ze)),De}static _collapse(De){typeof De!="string"&&De.children&&(De.children.every(ze=>typeof ze=="string")?De.children=[De.children.join("")]:De.children.forEach(ze=>{u._collapse(ze)}))}}class h extends u{constructor(De){super(),this.options=De}addText(De){De!==""&&this.add(De)}startScope(De){this.openNode(De)}endScope(){this.closeNode()}__addSublanguage(De,ze){const at=De.root;ze&&(at.scope=`language:${ze}`),this.add(at)}toHTML(){return new s(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(le){return le?typeof le=="string"?le:le.source:null}function b(le){return C("(?=",le,")")}function g(le){return C("(?:",le,")*")}function v(le){return C("(?:",le,")?")}function C(...le){return le.map(ze=>f(ze)).join("")}function y(le){const De=le[le.length-1];return typeof De=="object"&&De.constructor===Object?(le.splice(le.length-1,1),De):{}}function x(...le){return"("+(y(le).capture?"":"?:")+le.map(at=>f(at)).join("|")+")"}function E(le){return new RegExp(le.toString()+"|").exec("").length-1}function S(le,De){const ze=le&&le.exec(De);return ze&&ze.index===0}const T=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function A(le,{joinWith:De}){let ze=0;return le.map(at=>{ze+=1;const lr=ze;let br=f(at),lt="";for(;br.length>0;){const et=T.exec(br);if(!et){lt+=br;break}lt+=br.substring(0,et.index),br=br.substring(et.index+et[0].length),et[0][0]==="\\"&&et[1]?lt+="\\"+String(Number(et[1])+lr):(lt+=et[0],et[0]==="("&&ze++)}return lt}).map(at=>`(${at})`).join(De)}const k=/\b\B/,L="[a-zA-Z]\\w*",N="[a-zA-Z_]\\w*",O="\\b\\d+(\\.\\d+)?",B="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$="\\b(0b[01]+)",Y="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",H=(le={})=>{const De=/^#![ ]*\//;return le.binary&&(le.begin=C(De,/.*\b/,le.binary,/\b.*/)),i({scope:"meta",begin:De,end:/$/,relevance:0,"on:begin":(ze,at)=>{ze.index!==0&&at.ignoreMatch()}},le)},W={begin:"\\\\[\\s\\S]",relevance:0},z={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[W]},F={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[W]},X={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},G=function(le,De,ze={}){const at=i({scope:"comment",begin:le,end:De,contains:[]},ze);at.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const lr=x("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return at.contains.push({begin:C(/[ ]+/,"(",lr,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),at},P=G("//","$"),D=G("/\\*","\\*/"),j=G("#","$"),K={scope:"number",begin:O,relevance:0},V={scope:"number",begin:B,relevance:0},ie={scope:"number",begin:$,relevance:0},ye={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[W,{begin:/\[/,end:/\]/,relevance:0,contains:[W]}]},pe={scope:"title",begin:L,relevance:0},te={scope:"title",begin:N,relevance:0},Z={begin:"\\.\\s*"+N,relevance:0};var ce=Object.freeze({__proto__:null,APOS_STRING_MODE:z,BACKSLASH_ESCAPE:W,BINARY_NUMBER_MODE:ie,BINARY_NUMBER_RE:$,COMMENT:G,C_BLOCK_COMMENT_MODE:D,C_LINE_COMMENT_MODE:P,C_NUMBER_MODE:V,C_NUMBER_RE:B,END_SAME_AS_BEGIN:function(le){return Object.assign(le,{"on:begin":(De,ze)=>{ze.data._beginMatch=De[1]},"on:end":(De,ze)=>{ze.data._beginMatch!==De[1]&&ze.ignoreMatch()}})},HASH_COMMENT_MODE:j,IDENT_RE:L,MATCH_NOTHING_RE:k,METHOD_GUARD:Z,NUMBER_MODE:K,NUMBER_RE:O,PHRASAL_WORDS_MODE:X,QUOTE_STRING_MODE:F,REGEXP_MODE:ye,RE_STARTERS_RE:Y,SHEBANG:H,TITLE_MODE:pe,UNDERSCORE_IDENT_RE:N,UNDERSCORE_TITLE_MODE:te});function me(le,De){le.input[le.index-1]==="."&&De.ignoreMatch()}function be(le,De){le.className!==void 0&&(le.scope=le.className,delete le.className)}function oe(le,De){De&&le.beginKeywords&&(le.begin="\\b("+le.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",le.__beforeBegin=me,le.keywords=le.keywords||le.beginKeywords,delete le.beginKeywords,le.relevance===void 0&&(le.relevance=0))}function se(le,De){Array.isArray(le.illegal)&&(le.illegal=x(...le.illegal))}function xe(le,De){if(le.match){if(le.begin||le.end)throw new Error("begin & end are not supported with match");le.begin=le.match,delete le.match}}function Kt(le,De){le.relevance===void 0&&(le.relevance=1)}const rt=(le,De)=>{if(!le.beforeMatch)return;if(le.starts)throw new Error("beforeMatch cannot be used with starts");const ze=Object.assign({},le);Object.keys(le).forEach(at=>{delete le[at]}),le.keywords=ze.keywords,le.begin=C(ze.beforeMatch,b(ze.begin)),le.starts={relevance:0,contains:[Object.assign(ze,{endsParent:!0})]},le.relevance=0,delete ze.beforeMatch},Nt=["of","and","for","in","not","or","if","then","parent","list","value"],Ur="keyword";function zr(le,De,ze=Ur){const at=Object.create(null);return typeof le=="string"?lr(ze,le.split(" ")):Array.isArray(le)?lr(ze,le):Object.keys(le).forEach(function(br){Object.assign(at,zr(le[br],De,br))}),at;function lr(br,lt){De&&(lt=lt.map(et=>et.toLowerCase())),lt.forEach(function(et){const Tt=et.split("|");at[Tt[0]]=[br,Ei(Tt[0],Tt[1])]})}}function Ei(le,De){return De?Number(De):Yi(le)?0:1}function Yi(le){return Nt.includes(le.toLowerCase())}const Ft={},Je=le=>{console.error(le)},Ut=(le,...De)=>{console.log(`WARN: ${le}`,...De)},ve=(le,De)=>{Ft[`${le}/${De}`]||(console.log(`Deprecated as of ${le}. ${De}`),Ft[`${le}/${De}`]=!0)},He=new Error;function ot(le,De,{key:ze}){let at=0;const lr=le[ze],br={},lt={};for(let et=1;et<=De.length;et++)lt[et+at]=lr[et],br[et+at]=!0,at+=E(De[et-1]);le[ze]=lt,le[ze]._emit=br,le[ze]._multi=!0}function kt(le){if(Array.isArray(le.begin)){if(le.skip||le.excludeBegin||le.returnBegin)throw Je("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),He;if(typeof le.beginScope!="object"||le.beginScope===null)throw Je("beginScope must be object"),He;ot(le,le.begin,{key:"beginScope"}),le.begin=A(le.begin,{joinWith:""})}}function At(le){if(Array.isArray(le.end)){if(le.skip||le.excludeEnd||le.returnEnd)throw Je("skip, excludeEnd, returnEnd not compatible with endScope: {}"),He;if(typeof le.endScope!="object"||le.endScope===null)throw Je("endScope must be object"),He;ot(le,le.end,{key:"endScope"}),le.end=A(le.end,{joinWith:""})}}function gr(le){le.scope&&typeof le.scope=="object"&&le.scope!==null&&(le.beginScope=le.scope,delete le.scope)}function $t(le){gr(le),typeof le.beginScope=="string"&&(le.beginScope={_wrap:le.beginScope}),typeof le.endScope=="string"&&(le.endScope={_wrap:le.endScope}),kt(le),At(le)}function Br(le){function De(lt,et){return new RegExp(f(lt),"m"+(le.case_insensitive?"i":"")+(le.unicodeRegex?"u":"")+(et?"g":""))}class ze{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(et,Tt){Tt.position=this.position++,this.matchIndexes[this.matchAt]=Tt,this.regexes.push([Tt,et]),this.matchAt+=E(et)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const et=this.regexes.map(Tt=>Tt[1]);this.matcherRe=De(A(et,{joinWith:"|"}),!0),this.lastIndex=0}exec(et){this.matcherRe.lastIndex=this.lastIndex;const Tt=this.matcherRe.exec(et);if(!Tt)return null;const ai=Tt.findIndex((oa,To)=>To>0&&oa!==void 0),Zr=this.matchIndexes[ai];return Tt.splice(0,ai),Object.assign(Tt,Zr)}}class at{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(et){if(this.multiRegexes[et])return this.multiRegexes[et];const Tt=new ze;return this.rules.slice(et).forEach(([ai,Zr])=>Tt.addRule(ai,Zr)),Tt.compile(),this.multiRegexes[et]=Tt,Tt}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(et,Tt){this.rules.push([et,Tt]),Tt.type==="begin"&&this.count++}exec(et){const Tt=this.getMatcher(this.regexIndex);Tt.lastIndex=this.lastIndex;let ai=Tt.exec(et);if(this.resumingScanAtSamePosition()&&!(ai&&ai.index===this.lastIndex)){const Zr=this.getMatcher(0);Zr.lastIndex=this.lastIndex+1,ai=Zr.exec(et)}return ai&&(this.regexIndex+=ai.position+1,this.regexIndex===this.count&&this.considerAll()),ai}}function lr(lt){const et=new at;return lt.contains.forEach(Tt=>et.addRule(Tt.begin,{rule:Tt,type:"begin"})),lt.terminatorEnd&&et.addRule(lt.terminatorEnd,{type:"end"}),lt.illegal&&et.addRule(lt.illegal,{type:"illegal"}),et}function br(lt,et){const Tt=lt;if(lt.isCompiled)return Tt;[be,xe,$t,rt].forEach(Zr=>Zr(lt,et)),le.compilerExtensions.forEach(Zr=>Zr(lt,et)),lt.__beforeBegin=null,[oe,se,Kt].forEach(Zr=>Zr(lt,et)),lt.isCompiled=!0;let ai=null;return typeof lt.keywords=="object"&<.keywords.$pattern&&(lt.keywords=Object.assign({},lt.keywords),ai=lt.keywords.$pattern,delete lt.keywords.$pattern),ai=ai||/\w+/,lt.keywords&&(lt.keywords=zr(lt.keywords,le.case_insensitive)),Tt.keywordPatternRe=De(ai,!0),et&&(lt.begin||(lt.begin=/\B|\b/),Tt.beginRe=De(Tt.begin),!lt.end&&!lt.endsWithParent&&(lt.end=/\B|\b/),lt.end&&(Tt.endRe=De(Tt.end)),Tt.terminatorEnd=f(Tt.end)||"",lt.endsWithParent&&et.terminatorEnd&&(Tt.terminatorEnd+=(lt.end?"|":"")+et.terminatorEnd)),lt.illegal&&(Tt.illegalRe=De(lt.illegal)),lt.contains||(lt.contains=[]),lt.contains=[].concat(...lt.contains.map(function(Zr){return Kr(Zr==="self"?lt:Zr)})),lt.contains.forEach(function(Zr){br(Zr,Tt)}),lt.starts&&br(lt.starts,et),Tt.matcher=lr(Tt),Tt}if(le.compilerExtensions||(le.compilerExtensions=[]),le.contains&&le.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return le.classNameAliases=i(le.classNameAliases||{}),br(le)}function Rr(le){return le?le.endsWithParent||Rr(le.starts):!1}function Kr(le){return le.variants&&!le.cachedVariants&&(le.cachedVariants=le.variants.map(function(De){return i(le,{variants:null},De)})),le.cachedVariants?le.cachedVariants:Rr(le)?i(le,{starts:le.starts?i(le.starts):null}):Object.isFrozen(le)?i(le):le}var Fe="11.11.1";class it extends Error{constructor(De,ze){super(De),this.name="HTMLInjectionError",this.html=ze}}const Rt=r,vt=i,qr=Symbol("nomatch"),Li=7,zt=function(le){const De=Object.create(null),ze=Object.create(null),at=[];let lr=!0;const br="Could not find the language '{}', did you forget to load/include a language module?",lt={disableAutodetect:!0,name:"Plain text",contains:[]};let et={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function Tt(We){return et.noHighlightRe.test(We)}function ai(We){let _t=We.className+" ";_t+=We.parentNode?We.parentNode.className:"";const Yt=et.languageDetectRe.exec(_t);if(Yt){const kr=on(Yt[1]);return kr||(Ut(br.replace("{}",Yt[1])),Ut("Falling back to no-highlight mode for this block.",We)),kr?Yt[1]:"no-highlight"}return _t.split(/\s+/).find(kr=>Tt(kr)||on(kr))}function Zr(We,_t,Yt){let kr="",ni="";typeof _t=="object"?(kr=We,Yt=_t.ignoreIllegals,ni=_t.language):(ve("10.7.0","highlight(lang, code, ...args) has been deprecated."),ve("10.7.0",`Please use highlight(code, options) instead.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as a,l as s,D as o,e as i}from"./index-
|
|
1
|
+
import{_ as a,l as s,D as o,e as i}from"./index-B4Y8oBUt.js";import{p as g}from"./cynefin-VYW2F7L2-DioyO_Cm.js";var p={parse:a(async r=>{const e=await g("info",r);s.debug(e)},"parse")},v={version:"11.16.0"},d=a(()=>v.version,"getVersion"),m={getVersion:d},c=a((r,e,n)=>{s.debug(`rendering info diagram
|
|
2
2
|
`+r);const t=o(e);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)},"draw"),l={draw:c},_={parser:p,db:m,renderer:l};export{_ as diagram};
|
package/static/assets/{ishikawaDiagram-FXEZZL3T-BNEvOQYX.js → ishikawaDiagram-FXEZZL3T-CDikxFR6.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as o,c as ot,K as ut,D as dt,al as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as wt,s as mt,o as _t,e as bt}from"./index-
|
|
1
|
+
import{_ as o,c as ot,K as ut,D as dt,al as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as wt,s as mt,o as _t,e as bt}from"./index-B4Y8oBUt.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],w=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var m=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[m-1].length,n[m].trim());break;case 16:u.addNode(0,n[m].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:w},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:w},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,m="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(j,"popStack");function z(){var P;return P=u.pop()||b.lex()||E,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}o(z,"lex");for(var A,W,B,q,H={},K,V,et,X;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),B=v[W]&&v[W][A]),typeof B>"u"||!B.length||!B[0]){var Q="";X=[];for(K in v[W])this.terminals_[K]&&K>L&&X.push("'"+this.terminals_[K]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`:
|
|
2
2
|
`+b.showPosition()+`
|
|
3
3
|
Expecting `+X.join(", ")+", got '"+(this.terminals_[A]||A)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(Q,{text:b.match,token:this.terminals_[A]||A,line:b.yylineno,loc:T,expected:X})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(B[0]){case 1:i.push(A),p.push(b.yytext),n.push(b.yylloc),i.push(B[1]),A=null,S=b.yyleng,m=b.yytext,I=b.yylineno,T=b.yylloc;break;case 2:if(V=this.productions_[B[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(H,[m,S,I,C.yy,B[1],p,n].concat(R)),typeof q<"u")return q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[B[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=(function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
|
package/static/assets/{journeyDiagram-5HDEW3XC-BOwGZTfX.js → journeyDiagram-5HDEW3XC-Bo6isp1w.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as gt}from"./chunk-5VM5RSS4-
|
|
1
|
+
import{g as gt}from"./chunk-5VM5RSS4-BjHqxxbw.js";import{a as mt,g as lt,h as xt,d as kt}from"./chunk-32BRIVSS-Buim75a9.js";import{g as _t,s as vt,a as bt,b as wt,o as Tt,n as St,_ as s,c as R,d as X,e as $t,p as Mt}from"./index-B4Y8oBUt.js";import{d as it}from"./arc-C4ZlEQ3S.js";var U=(function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,z;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var H="";z=[];for(N in v[A])this.terminals_[N]&&N>yt&&z.push("'"+this.terminals_[N]+"'");_.showPosition?H="Parse error on line "+(C+1)+`:
|
|
2
2
|
`+_.showPosition()+`
|
|
3
3
|
Expecting `+z.join(", ")+", got '"+(this.terminals_[b]||b)+"'":H="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(H,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:z})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=(function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|