@galaxy-tool-util/gxwf-web 1.4.0 → 1.6.0

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.
Files changed (64) hide show
  1. package/package.json +5 -5
  2. package/public/assets/{FileView-CsOpVj29.js → FileView-fG7RG6QP.js} +1 -1
  3. package/public/assets/{ToolCacheView-bRFTq8lT.js → ToolCacheView-TNGPFceD.js} +2 -2
  4. package/public/assets/WorkflowView-D0y_HEKs.js +198 -0
  5. package/public/assets/{architectureDiagram-Q4EWVU46-jinf4bpr.js → architectureDiagram-Q4EWVU46-CAgVzFqE.js} +1 -1
  6. package/public/assets/{blockDiagram-DXYQGD6D-DyH9QtyX.js → blockDiagram-DXYQGD6D-BgA362BK.js} +1 -1
  7. package/public/assets/{c4Diagram-AHTNJAMY-eIaaNFF5.js → c4Diagram-AHTNJAMY-KGdXuDOE.js} +1 -1
  8. package/public/assets/channel-DDEfYj9m.js +1 -0
  9. package/public/assets/{chunk-336JU56O-K6Z1vrz8.js → chunk-336JU56O-DU7Z6ZqP.js} +2 -2
  10. package/public/assets/{chunk-426QAEUC-B7stkjff.js → chunk-426QAEUC-DYNMZOw6.js} +1 -1
  11. package/public/assets/{chunk-4TB4RGXK-DzYiMt8K.js → chunk-4TB4RGXK-ClYdUZGQ.js} +1 -1
  12. package/public/assets/{chunk-5FUZZQ4R-BXjMW0vl.js → chunk-5FUZZQ4R-BTrpKOs2.js} +1 -1
  13. package/public/assets/{chunk-5PVQY5BW-DpYMb9bR.js → chunk-5PVQY5BW-Dc2FZZd9.js} +1 -1
  14. package/public/assets/{chunk-EDXVE4YY-B13SDZ3c.js → chunk-EDXVE4YY-Cb_jQNPc.js} +1 -1
  15. package/public/assets/{chunk-ENJZ2VHE-DrVCiAoi.js → chunk-ENJZ2VHE-D72PJYFH.js} +1 -1
  16. package/public/assets/{chunk-ICPOFSXX-DwxYmUOT.js → chunk-ICPOFSXX-BfFbNaWT.js} +1 -1
  17. package/public/assets/{chunk-OYMX7WX6-CmfQJYSW.js → chunk-OYMX7WX6-BJ7HnA9i.js} +1 -1
  18. package/public/assets/{chunk-U2HBQHQK-oBXc92ns.js → chunk-U2HBQHQK-Cw2C_MTw.js} +1 -1
  19. package/public/assets/{chunk-X2U36JSP-CWkpvLVO.js → chunk-X2U36JSP-D9cn8Q0g.js} +1 -1
  20. package/public/assets/{chunk-YZCP3GAM-0MxWrEbo.js → chunk-YZCP3GAM-DbF6Xmqb.js} +1 -1
  21. package/public/assets/{chunk-ZZ45TVLE-BqOxN5U6.js → chunk-ZZ45TVLE-jc5HPlLj.js} +1 -1
  22. package/public/assets/classDiagram-6PBFFD2Q-BonxU2Pr.js +1 -0
  23. package/public/assets/classDiagram-v2-HSJHXN6E-DIw72pvQ.js +1 -0
  24. package/public/assets/clone-b9hz-7Rr.js +1 -0
  25. package/public/assets/{dagre-BxiFovGJ.js → dagre-CgPPoXdp.js} +1 -1
  26. package/public/assets/{dagre-KV5264BT-1zSgR5z0.js → dagre-KV5264BT-CEnKOkJD.js} +1 -1
  27. package/public/assets/{diagram-5BDNPKRD-DpWxP0aE.js → diagram-5BDNPKRD-9tqQbmWk.js} +1 -1
  28. package/public/assets/{diagram-G4DWMVQ6-BhUB45RQ.js → diagram-G4DWMVQ6-BmYgThWl.js} +1 -1
  29. package/public/assets/{diagram-MMDJMWI5-D3tAT1JA.js → diagram-MMDJMWI5-DivvwOWS.js} +1 -1
  30. package/public/assets/{diagram-TYMM5635-Y66BFGuY.js → diagram-TYMM5635-D1_Tj6pF.js} +1 -1
  31. package/public/assets/{erDiagram-SMLLAGMA-olVV48Hp.js → erDiagram-SMLLAGMA-CYSV0BE4.js} +1 -1
  32. package/public/assets/{flowDiagram-DWJPFMVM-QayyKS33.js → flowDiagram-DWJPFMVM-BGIkFQ6t.js} +1 -1
  33. package/public/assets/{ganttDiagram-T4ZO3ILL-DmE3LL1i.js → ganttDiagram-T4ZO3ILL-VI4Gbq3U.js} +1 -1
  34. package/public/assets/{gitGraphDiagram-UUTBAWPF-KhK3dvbQ.js → gitGraphDiagram-UUTBAWPF-Do1y70il.js} +1 -1
  35. package/public/assets/{graphlib-Bi-ymRsv.js → graphlib-DgT5U4LD.js} +1 -1
  36. package/public/assets/{index-4Ycp0GGC.js → index-DujJTa6m.js} +2 -2
  37. package/public/assets/{infoDiagram-42DDH7IO-BmhfgIe-.js → infoDiagram-42DDH7IO-CsPsiDMr.js} +1 -1
  38. package/public/assets/{ishikawaDiagram-UXIWVN3A-D-BfQrbQ.js → ishikawaDiagram-UXIWVN3A-BKfIGTr_.js} +1 -1
  39. package/public/assets/{journeyDiagram-VCZTEJTY-CT0HRztw.js → journeyDiagram-VCZTEJTY-Dew-JWJP.js} +1 -1
  40. package/public/assets/{kanban-definition-6JOO6SKY-BZnydE-0.js → kanban-definition-6JOO6SKY-B49jS5tm.js} +1 -1
  41. package/public/assets/{line-qKqldnLj.js → line-DLs8pe8_.js} +1 -1
  42. package/public/assets/{mermaid-parser.core-C09j9HB7.js → mermaid-parser.core-C7uDfEv_.js} +1 -1
  43. package/public/assets/{mermaid.core-BDhviqRd.js → mermaid.core-DZ5cLraE.js} +3 -3
  44. package/public/assets/{mindmap-definition-QFDTVHPH-Dt3WMSPV.js → mindmap-definition-QFDTVHPH-Dtd9nryT.js} +1 -1
  45. package/public/assets/{pieDiagram-DEJITSTG-Yqe8uCAr.js → pieDiagram-DEJITSTG-DecnWuHL.js} +1 -1
  46. package/public/assets/{quadrantDiagram-34T5L4WZ-D6S_SKNN.js → quadrantDiagram-34T5L4WZ-rwtCHNqR.js} +1 -1
  47. package/public/assets/{requirementDiagram-MS252O5E-jfbAS50v.js → requirementDiagram-MS252O5E-B_KKFFTQ.js} +1 -1
  48. package/public/assets/{sankeyDiagram-XADWPNL6-BAUJwgc9.js → sankeyDiagram-XADWPNL6-6dvvnj4L.js} +1 -1
  49. package/public/assets/{sequenceDiagram-FGHM5R23-D7HLbuOf.js → sequenceDiagram-FGHM5R23--QMwD4p7.js} +1 -1
  50. package/public/assets/{stateDiagram-FHFEXIEX-BX7o31BE.js → stateDiagram-FHFEXIEX-CG8TGK15.js} +1 -1
  51. package/public/assets/stateDiagram-v2-QKLJ7IA2-Diy8mz-j.js +1 -0
  52. package/public/assets/{timeline-definition-GMOUNBTQ-CZLMeEm3.js → timeline-definition-GMOUNBTQ-RU_gK7LU.js} +1 -1
  53. package/public/assets/useToolInfoService-C1D4X77C.js +276 -0
  54. package/public/assets/{vennDiagram-DHZGUBPP-CU_yL8Jq.js → vennDiagram-DHZGUBPP-DkBDAkqR.js} +1 -1
  55. package/public/assets/{wardleyDiagram-NUSXRM2D-BJ2G793c.js → wardleyDiagram-NUSXRM2D-BC-MZSUZ.js} +1 -1
  56. package/public/assets/{xychartDiagram-5P7HB3ND-CtCVgkGt.js → xychartDiagram-5P7HB3ND-YSSUwZXU.js} +1 -1
  57. package/public/index.html +1 -1
  58. package/public/assets/WorkflowView-CRSqinCX.js +0 -198
  59. package/public/assets/channel-B9wkeALp.js +0 -1
  60. package/public/assets/classDiagram-6PBFFD2Q-A_f6K02B.js +0 -1
  61. package/public/assets/classDiagram-v2-HSJHXN6E-DrcrbPO1.js +0 -1
  62. package/public/assets/clone-grQBEjNN.js +0 -1
  63. package/public/assets/stateDiagram-v2-QKLJ7IA2-Co5H7aCg.js +0 -1
  64. package/public/assets/useToolInfoService-BoFJqmDR.js +0 -276
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/gxwf-web",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Galaxy workflow development HTTP server — validate, lint, clean, convert workflows",
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,10 +32,10 @@
32
32
  "dependencies": {
33
33
  "effect": "^3.21.0",
34
34
  "yaml": "^2.8.3",
35
- "@galaxy-tool-util/cli": "1.4.0",
36
- "@galaxy-tool-util/connection-validation": "1.2.0",
37
- "@galaxy-tool-util/core": "1.2.0",
38
- "@galaxy-tool-util/schema": "1.2.0"
35
+ "@galaxy-tool-util/cli": "1.6.0",
36
+ "@galaxy-tool-util/connection-validation": "1.6.0",
37
+ "@galaxy-tool-util/core": "1.6.0",
38
+ "@galaxy-tool-util/schema": "1.6.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^25.5.0",
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/iconv-lite-umd-D-w9FMFt.js","assets/chunk-Bj-mKKzh.js","assets/jschardet-tASGyPDl.js"])))=>i.map(i=>d[i]);
2
- import{r as e,s as t}from"./chunk-Bj-mKKzh.js";import{$t as n,At as r,C as i,Cn as a,E as o,En as s,F as c,It as l,J as u,Jt as d,Kt as f,Qt as p,Rt as m,Sn as h,St as g,Ut as _,Wt as v,Xt as y,Yt as ee,_ as te,_n as ne,a as re,d as ie,dn as ae,en as oe,f as se,fn as ce,g as le,gn as ue,hn as de,i as fe,it as pe,l as me,ln as he,m as ge,n as _e,o as ve,on as ye,p as be,pn as xe,qt as Se,r as Ce,rn as we,sn as Te,u as Ee,un as De,vn as Oe,x as ke,xt as Ae,y as je,yn as Me,yt as Ne}from"./useApi-CXAk43j3.js";import{d as eee,f as tee,n as Pe,t as Fe}from"./index-4Ycp0GGC.js";import{t as nee}from"./purify.es-PlwmxSh4.js";import{a as ree,i as Ie,t as Le}from"./useOperation-6c4UXxWc.js";var Re=o.extend({name:`tree`,style:`
2
+ import{r as e,s as t}from"./chunk-Bj-mKKzh.js";import{$t as n,At as r,C as i,Cn as a,E as o,En as s,F as c,It as l,J as u,Jt as d,Kt as f,Qt as p,Rt as m,Sn as h,St as g,Ut as _,Wt as v,Xt as y,Yt as ee,_ as te,_n as ne,a as re,d as ie,dn as ae,en as oe,f as se,fn as ce,g as le,gn as ue,hn as de,i as fe,it as pe,l as me,ln as he,m as ge,n as _e,o as ve,on as ye,p as be,pn as xe,qt as Se,r as Ce,rn as we,sn as Te,u as Ee,un as De,vn as Oe,x as ke,xt as Ae,y as je,yn as Me,yt as Ne}from"./useApi-CXAk43j3.js";import{d as eee,f as tee,n as Pe,t as Fe}from"./index-DujJTa6m.js";import{t as nee}from"./purify.es-PlwmxSh4.js";import{a as ree,i as Ie,t as Le}from"./useOperation-6c4UXxWc.js";var Re=o.extend({name:`tree`,style:`
3
3
  .p-tree {
4
4
  display: block;
5
5
  background: dt('tree.background');
@@ -1,4 +1,4 @@
1
- import{$t as e,A as t,C as n,Cn as r,E as i,En as a,F as o,Jt as s,Kt as c,Qt as l,Rt as u,Sn as d,St as f,Wt as p,Xt as m,Yt as h,Z as g,Zt as _,_ as ee,_n as v,_t as y,b,dn as x,en as S,fn as C,ft as w,gn as T,hn as E,l as D,ln as te,lt as O,m as k,n as A,nt as j,o as M,on as ne,ot as N,p as re,pn as P,qt as F,r as ie,rn as I,sn as L,t as R,u as z,un as B,ut as V,v as ae,x as H,yn as U,yt as oe}from"./useApi-CXAk43j3.js";import{a as se,c as ce,g as W,i as G,m as K,o as le,p as ue,r as de,u as fe}from"./index-4Ycp0GGC.js";import{c as pe,l as me,s as he,t as q}from"./useToolInfoService-BoFJqmDR.js";var ge={name:`WindowMaximizeIcon`,extends:b};function _e(e){return xe(e)||be(e)||ye(e)||ve()}function ve(){throw TypeError(`Invalid attempt to spread non-iterable instance.
1
+ import{$t as e,A as t,C as n,Cn as r,E as i,En as a,F as o,Jt as s,Kt as c,Qt as l,Rt as u,Sn as d,St as f,Wt as p,Xt as m,Yt as h,Z as g,Zt as _,_ as ee,_n as v,_t as y,b,dn as x,en as S,fn as C,ft as w,gn as T,hn as E,l as D,ln as te,lt as O,m as k,n as A,nt as j,o as M,on as ne,ot as N,p as re,pn as P,qt as F,r as ie,rn as I,sn as L,t as R,u as z,un as B,ut as V,v as ae,x as H,yn as U,yt as oe}from"./useApi-CXAk43j3.js";import{a as se,c as ce,g as W,i as G,m as K,o as le,p as ue,r as de,u as fe}from"./index-DujJTa6m.js";import{c as pe,l as me,t as q,u as he}from"./useToolInfoService-C1D4X77C.js";var ge={name:`WindowMaximizeIcon`,extends:b};function _e(e){return xe(e)||be(e)||ye(e)||ve()}function ve(){throw TypeError(`Invalid attempt to spread non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ye(e,t){if(e){if(typeof e==`string`)return Se(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,t):void 0}}function be(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function xe(e){if(Array.isArray(e))return Se(e)}function Se(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ce(e,t,n,r,i,a){return L(),m(`svg`,I({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),_e(t[0]||=[F(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z`,fill:`currentColor`},null,-1)]),16)}ge.render=Ce;var we={name:`WindowMinimizeIcon`,extends:b};function Te(e){return ke(e)||Oe(e)||De(e)||Ee()}function Ee(){throw TypeError(`Invalid attempt to spread non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function De(e,t){if(e){if(typeof e==`string`)return Ae(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(e,t):void 0}}function Oe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ke(e){if(Array.isArray(e))return Ae(e)}function Ae(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function je(e,t,n,r,i,a){return L(),m(`svg`,I({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),Te(t[0]||=[F(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z`,fill:`currentColor`},null,-1)]),16)}we.render=je;function Me(){y({variableName:t(`scrollbar.width`).name})}function Ne(){V({variableName:t(`scrollbar.width`).name})}var Pe=i.extend({name:`dialog`,style:`
4
4
  .p-dialog {
@@ -117,4 +117,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
117
117
  width: dt('confirmdialog.icon.size');
118
118
  height: dt('confirmdialog.icon.size');
119
119
  }
120
- `,classes:{root:`p-confirmdialog`,icon:`p-confirmdialog-icon`,message:`p-confirmdialog-message`,pcRejectButton:`p-confirmdialog-reject-button`,pcAcceptButton:`p-confirmdialog-accept-button`}}),Ke={name:`ConfirmDialog`,extends:{name:`BaseConfirmDialog`,extends:H,props:{group:String,breakpoints:{type:Object,default:null},draggable:{type:Boolean,default:!0}},style:Ge,provide:function(){return{$pcConfirmDialog:this,$parentInstance:this}}},confirmListener:null,closeListener:null,data:function(){return{visible:!1,confirmation:null}},mounted:function(){var e=this;this.confirmListener=function(t){t&&t.group===e.group&&(e.confirmation=t,e.confirmation.onShow&&e.confirmation.onShow(),e.visible=!0)},this.closeListener=function(){e.visible=!1,e.confirmation=null},K.on(`confirm`,this.confirmListener),K.on(`close`,this.closeListener)},beforeUnmount:function(){K.off(`confirm`,this.confirmListener),K.off(`close`,this.closeListener)},methods:{accept:function(){this.confirmation.accept&&this.confirmation.accept(),this.visible=!1},reject:function(){this.confirmation.reject&&this.confirmation.reject(),this.visible=!1},onHide:function(){this.confirmation.onHide&&this.confirmation.onHide(),this.visible=!1}},computed:{appendTo:function(){return this.confirmation?this.confirmation.appendTo:`body`},target:function(){return this.confirmation?this.confirmation.target:null},modal:function(){return this.confirmation?this.confirmation.modal==null?!0:this.confirmation.modal:!0},header:function(){return this.confirmation?this.confirmation.header:null},message:function(){return this.confirmation?this.confirmation.message:null},blockScroll:function(){return this.confirmation?this.confirmation.blockScroll:!0},position:function(){return this.confirmation?this.confirmation.position:null},acceptLabel:function(){if(this.confirmation){var e=this.confirmation;return e.acceptLabel||e.acceptProps?.label||this.$primevue.config.locale.accept}return this.$primevue.config.locale.accept},rejectLabel:function(){if(this.confirmation){var e=this.confirmation;return e.rejectLabel||e.rejectProps?.label||this.$primevue.config.locale.reject}return this.$primevue.config.locale.reject},acceptIcon:function(){var e;return this.confirmation?this.confirmation.acceptIcon:(e=this.confirmation)!=null&&e.acceptProps?this.confirmation.acceptProps.icon:null},rejectIcon:function(){var e;return this.confirmation?this.confirmation.rejectIcon:(e=this.confirmation)!=null&&e.rejectProps?this.confirmation.rejectProps.icon:null},autoFocusAccept:function(){return this.confirmation.defaultFocus===void 0||this.confirmation.defaultFocus===`accept`},autoFocusReject:function(){return this.confirmation.defaultFocus===`reject`},closeOnEscape:function(){return this.confirmation?this.confirmation.closeOnEscape:!0}},components:{Dialog:J,Button:k}};function qe(t,n,i,o,c,l){var u=x(`Button`),d=x(`Dialog`);return L(),s(d,{visible:c.visible,"onUpdate:visible":[n[2]||=function(e){return c.visible=e},l.onHide],role:`alertdialog`,class:r(t.cx(`root`)),modal:l.modal,header:l.header,blockScroll:l.blockScroll,appendTo:l.appendTo,position:l.position,breakpoints:t.breakpoints,closeOnEscape:l.closeOnEscape,draggable:t.draggable,pt:t.pt,unstyled:t.unstyled},_({default:T(function(){return[t.$slots.container?h(``,!0):(L(),m(p,{key:0},[t.$slots.message?(L(),s(P(t.$slots.message),{key:1,message:c.confirmation},null,8,[`message`])):(L(),m(p,{key:0},[B(t.$slots,`icon`,{},function(){return[t.$slots.icon?(L(),s(P(t.$slots.icon),{key:0,class:r(t.cx(`icon`))},null,8,[`class`])):c.confirmation.icon?(L(),m(`span`,I({key:1,class:[c.confirmation.icon,t.cx(`icon`)]},t.ptm(`icon`)),null,16)):h(``,!0)]}),F(`span`,I({class:t.cx(`message`)},t.ptm(`message`)),a(l.message),17)],64))],64))]}),_:2},[t.$slots.container?{name:`container`,fn:T(function(e){return[B(t.$slots,`container`,{message:c.confirmation,closeCallback:e.closeCallback,acceptCallback:l.accept,rejectCallback:l.reject,initDragCallback:e.initDragCallback})]}),key:`0`}:void 0,t.$slots.container?void 0:{name:`footer`,fn:T(function(){return[e(u,I({class:[t.cx(`pcRejectButton`),c.confirmation.rejectClass],autofocus:l.autoFocusReject,unstyled:t.unstyled,text:c.confirmation.rejectProps?.text||!1,onClick:n[0]||=function(e){return l.reject()}},c.confirmation.rejectProps,{label:l.rejectLabel,pt:t.ptm(`pcRejectButton`)}),_({_:2},[l.rejectIcon||t.$slots.rejecticon?{name:`icon`,fn:T(function(e){return[B(t.$slots,`rejecticon`,{},function(){return[F(`span`,I({class:[l.rejectIcon,e.class]},t.ptm(`pcRejectButton`).icon,{"data-pc-section":`rejectbuttonicon`}),null,16)]})]}),key:`0`}:void 0]),1040,[`class`,`autofocus`,`unstyled`,`text`,`label`,`pt`]),e(u,I({label:l.acceptLabel,class:[t.cx(`pcAcceptButton`),c.confirmation.acceptClass],autofocus:l.autoFocusAccept,unstyled:t.unstyled,onClick:n[1]||=function(e){return l.accept()}},c.confirmation.acceptProps,{pt:t.ptm(`pcAcceptButton`)}),_({_:2},[l.acceptIcon||t.$slots.accepticon?{name:`icon`,fn:T(function(e){return[B(t.$slots,`accepticon`,{},function(){return[F(`span`,I({class:[l.acceptIcon,e.class]},t.ptm(`pcAcceptButton`).icon,{"data-pc-section":`acceptbuttonicon`}),null,16)]})]}),key:`0`}:void 0]),1040,[`label`,`class`,`autofocus`,`unstyled`,`pt`])]}),key:`1`}]),1032,[`visible`,`class`,`modal`,`header`,`blockScroll`,`appendTo`,`position`,`breakpoints`,`closeOnEscape`,`draggable`,`onUpdate:visible`,`pt`,`unstyled`])}Ke.render=qe;var Je={class:`cache-stats`,"data-description":`tool cache stats`},Ye={class:`stat-line`},Xe={key:0,class:`stat-line stat-meta`},Ze={key:0},Qe={key:1},$e=A(S({__name:`ToolCacheStats`,props:{stats:{}},setup(e){function t(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function n(e){return new Date(e).toLocaleString()}return(r,i)=>(L(),m(`div`,Je,[F(`div`,Ye,[F(`strong`,null,a(e.stats.count),1),i[2]||=l(` tools `,-1),e.stats.totalBytes===void 0?h(``,!0):(L(),m(p,{key:0},[i[0]||=l(` · `,-1),F(`strong`,null,a(t(e.stats.totalBytes)),1)],64)),(L(!0),m(p,null,te(e.stats.bySource,(e,t)=>(L(),m(p,{key:t},[i[1]||=l(` · `,-1),F(`strong`,null,a(e),1),l(` `+a(t),1)],64))),128))]),e.stats.oldest||e.stats.newest?(L(),m(`div`,Xe,[e.stats.oldest?(L(),m(`span`,Ze,`Oldest: `+a(n(e.stats.oldest)),1)):h(``,!0),e.stats.newest?(L(),m(`span`,Qe,`Newest: `+a(n(e.stats.newest)),1)):h(``,!0)])):h(``,!0)]))}}),[[`__scopeId`,`data-v-0e88204f`]]),et={class:`cache-table`},tt={class:`list-toolbar`},nt={class:`undecodable-toggle`},rt={class:`count`},it={class:`empty-state`},at={key:0},ot={key:1},st={class:`tool-cell`},ct={key:0,class:`pi pi-exclamation-triangle warn-icon`},lt={class:`tool-id`},ut={key:0},dt={key:1,class:`muted`},ft=[`title`],pt=[`href`],mt=A(S({__name:`ToolCacheTable`,props:{entries:{},loading:{type:Boolean}},emits:[`view`,`refetch`,`delete`],setup(t,{emit:n}){let r=t,i=n,o=U(``),s=U(null),l=U(!1),u=c(()=>Array.from(new Set(r.entries.map(e=>e.source))).sort()),f=c(()=>{let e=o.value.toLowerCase();return r.entries.filter(t=>!(e&&!t.toolId.toLowerCase().includes(e)||s.value&&t.source!==s.value||l.value&&t.decodable))});function p(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function g(e){let t=Date.now()-new Date(e).getTime(),n=Math.round(t/1e3);if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<48?`${i}h ago`:`${Math.round(i/24)}d ago`}return(n,r)=>{let c=C(`tooltip`);return L(),m(`div`,et,[F(`div`,tt,[e(d(z),{class:`search-field`},{default:T(()=>[e(d(D),{class:`pi pi-search`}),e(d(M),{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,placeholder:`Filter by tool id…`,size:`small`},null,8,[`modelValue`])]),_:1}),e(d(ce),{modelValue:s.value,"onUpdate:modelValue":r[1]||=e=>s.value=e,options:u.value,placeholder:`All sources`,showClear:``,size:`small`,class:`source-select`},null,8,[`modelValue`,`options`]),F(`label`,nt,[e(d(ie),{modelValue:l.value,"onUpdate:modelValue":r[2]||=e=>l.value=e,binary:!0},null,8,[`modelValue`]),r[3]||=F(`span`,null,`Undecodable only`,-1)]),F(`span`,rt,a(f.value.length)+a(f.value.length===t.entries.length?``:` of ${t.entries.length}`)+` entries `,1)]),e(d(se),{value:f.value,loading:t.loading,dataKey:`cacheKey`,rowHover:!0,stripedRows:``,sortField:`cachedAt`,sortOrder:-1,paginator:f.value.length>25,rows:25,rowsPerPageOptions:[25,50,100]},{empty:T(()=>[F(`div`,it,[r[4]||=F(`i`,{class:`pi pi-database empty-icon`},null,-1),o.value||s.value||l.value?(L(),m(`p`,at,` No entries match the current filters. `)):(L(),m(`p`,ot,`The tool cache is empty.`))])]),default:T(()=>[e(d(G),{field:`toolId`,header:`Tool`,sortable:``},{body:T(({data:e})=>[F(`div`,st,[e.decodable?h(``,!0):v((L(),m(`i`,ct,null,512)),[[c,`Cached payload does not decode as a ParsedTool`,void 0,{right:!0}]]),F(`span`,lt,a(e.toolId),1)])]),_:1}),e(d(G),{field:`toolVersion`,header:`Version`,sortable:``,style:{width:`10rem`}}),e(d(G),{field:`source`,header:`Source`,sortable:``,style:{width:`7rem`}},{body:T(({data:t})=>[e(d(de),{value:t.source,severity:`secondary`},null,8,[`value`])]),_:1}),e(d(G),{field:`sizeBytes`,header:`Size`,sortable:``,style:{width:`7rem`}},{body:T(({data:e})=>[e.sizeBytes===void 0?(L(),m(`span`,dt,`—`)):(L(),m(`span`,ut,a(p(e.sizeBytes)),1))]),_:1}),e(d(G),{field:`cachedAt`,header:`Cached`,sortable:``,style:{width:`11rem`}},{body:T(({data:e})=>[F(`span`,{title:e.cachedAt},a(g(e.cachedAt)),9,ft)]),_:1}),e(d(G),{header:``,style:{width:`11rem`,"text-align":`right`}},{body:T(({data:t})=>[v(e(d(k),{icon:`pi pi-eye`,text:``,size:`small`,onClick:e=>i(`view`,t)},null,8,[`onClick`]),[[c,`View raw JSON`,void 0,{left:!0}]]),v(e(d(k),{icon:`pi pi-refresh`,text:``,size:`small`,disabled:!t.refetchable,onClick:e=>i(`refetch`,t)},null,8,[`disabled`,`onClick`]),[[c,t.refetchable?`Re-fetch from source`:`Cannot re-fetch — tool id is unknown/orphan`,void 0,{left:!0}]]),t.toolshedUrl?(L(),m(`a`,{key:0,href:t.toolshedUrl,target:`_blank`,rel:`noopener noreferrer`},[v(e(d(k),{icon:`pi pi-external-link`,text:``,size:`small`},null,512),[[c,`Open ToolShed`,void 0,{left:!0}]])],8,pt)):h(``,!0),v(e(d(k),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:e=>i(`delete`,t)},null,8,[`onClick`]),[[c,`Delete`,void 0,{left:!0}]])]),_:1})]),_:1},8,[`value`,`loading`,`paginator`])])}}}),[[`__scopeId`,`data-v-23645664`]]),ht={key:0,class:`loading-state`},gt={key:1,class:`error-state`},_t={key:2,class:`raw-json`},vt=A(S({__name:`ToolCacheRawDialog`,props:{modelValue:{type:Boolean},entry:{},load:{type:Function}},emits:[`update:modelValue`],setup(t,{emit:r}){let i=t,o=r,l=c({get:()=>i.modelValue,set:e=>o(`update:modelValue`,e)}),u=n(),f=U(null),p=U(!1),h=U(null),g=c(()=>f.value===null?``:JSON.stringify(f.value,null,2));E(()=>[i.modelValue,i.entry?.cacheKey],async([e,t])=>{if(!(!e||!t)){p.value=!0,h.value=null,f.value=null;try{f.value=(await i.load(t))?.contents??null}catch(e){h.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}});async function _(){await navigator.clipboard.writeText(g.value),u.add({severity:`success`,summary:`Copied`,life:1500})}return(n,r)=>(L(),s(d(J),{visible:l.value,"onUpdate:visible":r[1]||=e=>l.value=e,header:t.entry?.toolId??`Cached payload`,modal:``,style:{width:`70vw`},breakpoints:{"960px":`90vw`}},{footer:T(()=>[e(d(k),{label:`Copy`,icon:`pi pi-copy`,text:``,disabled:!g.value,onClick:_},null,8,[`disabled`]),e(d(k),{label:`Close`,icon:`pi pi-times`,onClick:r[0]||=e=>l.value=!1})]),default:T(()=>[p.value?(L(),m(`div`,ht,`Loading…`)):h.value?(L(),m(`div`,gt,a(h.value),1)):(L(),m(`pre`,_t,a(g.value),1))]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-5ded7233`]]),yt=U([]),bt=U({count:0,bySource:{}}),xt=U(!1),X=U(null);function Z(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`&&t.length>0)return t}return t}function St(){let e=R();async function t(t={}){xt.value=!0,X.value=null;try{let{data:n,error:r}=await e.GET(`/api/tool-cache`,{params:{query:t.decode?{decode:`1`}:{}}});r?X.value=Z(r,`Failed to load tool cache`):n&&(yt.value=n.entries,bt.value=n.stats)}finally{xt.value=!1}}async function n(t){let{data:n,error:r}=await e.GET(`/api/tool-cache/{cacheKey}`,{params:{path:{cacheKey:t}}});if(r)throw Error(Z(r,`Failed to load raw entry`));return n}async function r(n){X.value=null;let{error:r}=await e.DELETE(`/api/tool-cache/{cacheKey}`,{params:{path:{cacheKey:n}}});if(r){let e=Z(r,`Delete failed`);throw X.value=e,Error(e)}await t()}async function i(n){X.value=null;let{data:r,error:i}=await e.DELETE(`/api/tool-cache`,{params:{query:n?{prefix:n}:{}}});if(i){let e=Z(i,`Clear failed`);throw X.value=e,Error(e)}return await t(),r}async function a(n,r){X.value=null;let{data:i,error:a}=await e.POST(`/api/tool-cache/refetch`,{body:{toolId:n,...r?{toolVersion:r}:{}}});if(a){let e=Z(a,`Refetch failed`);throw X.value=e,Error(e)}return await t(),i}async function o(n,r){X.value=null;let{data:i,error:a}=await e.POST(`/api/tool-cache/add`,{body:{toolId:n,...r?{toolVersion:r}:{}}});if(a){let e=Z(a,`Add failed`);throw X.value=e,Error(e)}return await t(),i}return{entries:yt,stats:bt,loading:xt,error:X,refresh:t,loadRaw:n,del:r,clear:i,refetch:a,add:o}}var Ct=U([]),wt=U({count:0,bySource:{}}),Tt=U(!1),Q=U(null);function $(e){return e instanceof Error?e.message:String(e)}function Et(){async function e(e={}){Tt.value=!0,Q.value=null;try{let t=q().cache,n=await t.listCached(),r=[],i={},a,o,s=0,c=!1;for(let l of n){let n=he(l.tool_id),u=l.source!==`orphan`&&l.tool_id!==`unknown`&&l.tool_id!==``,d={cacheKey:l.cache_key,toolId:l.tool_id,toolVersion:l.tool_version,source:l.source,sourceUrl:l.source_url,cachedAt:l.cached_at,decodable:!0,refetchable:u};if(n!==null){let[e,t]=n.trsToolId.split(`~`);e&&t&&(d.toolshedUrl=`${n.toolshedUrl}/view/${e}/${t}`)}let f=await t.statCached(l.cache_key);f!==null&&(d.sizeBytes=f.sizeBytes),e.decode&&(d.decodable=await t.loadCached(l.cache_key)!==null),r.push(d),i[d.source]=(i[d.source]??0)+1,(a===void 0||d.cachedAt<a)&&(a=d.cachedAt),(o===void 0||d.cachedAt>o)&&(o=d.cachedAt),d.sizeBytes!==void 0&&(s+=d.sizeBytes,c=!0)}let l={count:r.length,bySource:i};a!==void 0&&(l.oldest=a),o!==void 0&&(l.newest=o),c&&(l.totalBytes=s),Ct.value=r,wt.value=l}catch(e){Q.value=$(e)}finally{Tt.value=!1}}async function t(e){let t=q().cache,n=await t.loadCachedRaw(e);if(n===null)throw Error(`No cached entry: ${e}`);return{contents:n,decodable:await t.loadCached(e)!==null}}async function n(t){Q.value=null;try{if(!await q().cache.removeCached(t))throw Error(`No cached entry: ${t}`);await e()}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function r(t){Q.value=null;try{let n=await q().cache.clearCache(t);return await e(),{removed:n}}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function i(t,n){Q.value=null;try{let r=await q().refetch(t,n??null,{force:!0});return await e(),r}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function a(t,n){Q.value=null;try{let r=await q().refetch(t,n??null);return await e(),{cacheKey:r.cacheKey,alreadyCached:r.alreadyCached}}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}return{entries:Ct,stats:wt,loading:Tt,error:Q,refresh:e,loadRaw:t,del:n,clear:r,refetch:i,add:a}}var Dt={class:`cache-panel`},Ot={class:`panel-header`},kt={class:`panel-actions`},At={class:`decode-toggle`},jt={class:`add-form`},Mt={class:`add-form`},Nt=A(S({__name:`ToolCachePanel`,props:{transport:{}},setup(t){let r=t,i=c(()=>r.transport===`server`?`Server-side cache`:`Client-side cache (IndexedDB)`),{entries:o,stats:u,loading:f,error:p,refresh:g,loadRaw:_,del:ee,clear:y,refetch:b,add:x}=r.transport===`server`?St():Et(),S=n(),w=ue(),E=U(null),D=U(!1),te=U(null),O=U(!1);function A(){g({decode:O.value})}function j(e){return e instanceof Error?e.message:String(e)}let N=U(!1),P=U(``),I=U(``),R=U(!1),z=U(!1),B=U(``),V=U(!1),ae=[{label:`Add tool…`,icon:`pi pi-plus`,command:()=>N.value=!0},{label:`Clear by prefix…`,icon:`pi pi-filter-slash`,command:()=>z.value=!0},{separator:!0},{label:`Clear all`,icon:`pi pi-trash`,command:()=>{w.require({message:`Remove all ${u.value.count} cached tools?`,header:`Clear cache`,icon:`pi pi-exclamation-triangle`,acceptProps:{severity:`danger`,label:`Clear all`},accept:async()=>{try{let e=await y();S.add({severity:`success`,summary:`Removed ${e?.removed??0} entries`,life:2500})}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}}})}}];function H(e){te.value=e,D.value=!0}function oe(e){w.require({message:`Delete cached entry for ${e.toolId} ${e.toolVersion}?`,header:`Delete entry`,icon:`pi pi-exclamation-triangle`,acceptProps:{severity:`danger`,label:`Delete`},accept:async()=>{try{await ee(e.cacheKey),S.add({severity:`success`,summary:`Deleted ${e.toolId}`,life:2e3})}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}}})}async function se(e){try{await b(e.toolId,e.toolVersion),S.add({severity:`success`,summary:`Re-fetched ${e.toolId} ${e.toolVersion}`,life:2500})}catch(e){S.add({severity:`error`,summary:`Failed: ${j(e)}`,life:4e3})}}async function ce(){if(P.value){R.value=!0;try{let e=await x(P.value,I.value||void 0);S.add({severity:`success`,summary:e?.alreadyCached?`Already cached`:`Added ${P.value}`,life:2500}),N.value=!1,P.value=``,I.value=``}catch(e){S.add({severity:`error`,summary:`Failed: ${j(e)}`,life:4e3})}finally{R.value=!1}}}async function W(){if(B.value){V.value=!0;try{let e=await y(B.value);S.add({severity:`success`,summary:`Removed ${e?.removed??0} entries`,life:2500}),z.value=!1,B.value=``}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}finally{V.value=!1}}}return ne(A),(n,r)=>{let c=C(`tooltip`);return L(),m(`section`,Dt,[F(`div`,Ot,[F(`h2`,null,a(i.value),1),F(`div`,kt,[v((L(),m(`label`,At,[e(d(ie),{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,binary:!0,onChange:A},null,8,[`modelValue`]),r[10]||=F(`span`,null,`Decode probe`,-1)])),[[c,`Probe each entry for decode-ability (slower)`,void 0,{bottom:!0}]]),e(d(k),{label:`Refresh`,icon:`pi pi-refresh`,text:``,loading:d(f),onClick:A},null,8,[`loading`]),e(d(k),{icon:`pi pi-ellipsis-v`,text:``,"aria-label":`Cache actions`,onClick:r[1]||=e=>E.value?.toggle(e)}),e(d(pe),{ref_key:`menu`,ref:E,model:ae,popup:!0},null,512)])]),d(p)?(L(),s(d(re),{key:0,severity:`error`,closable:!1},{default:T(()=>[l(a(d(p)),1)]),_:1})):h(``,!0),e($e,{stats:d(u)},null,8,[`stats`]),e(mt,{entries:d(o),loading:d(f),onView:H,onRefetch:se,onDelete:oe},null,8,[`entries`,`loading`]),e(vt,{modelValue:D.value,"onUpdate:modelValue":r[2]||=e=>D.value=e,entry:te.value,load:d(_)},null,8,[`modelValue`,`entry`,`load`]),e(d(J),{visible:N.value,"onUpdate:visible":r[6]||=e=>N.value=e,header:`Add tool to ${t.transport} cache`,modal:``,style:{width:`24rem`}},{footer:T(()=>[e(d(k),{label:`Cancel`,text:``,onClick:r[5]||=e=>N.value=!1}),e(d(k),{label:`Add`,icon:`pi pi-plus`,loading:R.value,onClick:ce},null,8,[`loading`])]),default:T(()=>[F(`div`,jt,[F(`label`,null,[r[11]||=F(`span`,null,`Tool ID`,-1),e(d(M),{modelValue:P.value,"onUpdate:modelValue":r[3]||=e=>P.value=e,placeholder:`toolshed.g2.../repos/owner/repo/tool/version`},null,8,[`modelValue`])]),F(`label`,null,[r[12]||=F(`span`,null,`Version (optional)`,-1),e(d(M),{modelValue:I.value,"onUpdate:modelValue":r[4]||=e=>I.value=e},null,8,[`modelValue`])])])]),_:1},8,[`visible`,`header`]),e(d(J),{visible:z.value,"onUpdate:visible":r[9]||=e=>z.value=e,header:`Clear by tool-id prefix`,modal:``,style:{width:`24rem`}},{footer:T(()=>[e(d(k),{label:`Cancel`,text:``,onClick:r[8]||=e=>z.value=!1}),e(d(k),{label:`Clear`,icon:`pi pi-trash`,severity:`danger`,loading:V.value,onClick:W},null,8,[`loading`])]),default:T(()=>[F(`div`,Mt,[F(`label`,null,[r[13]||=F(`span`,null,`Tool ID prefix`,-1),e(d(M),{modelValue:B.value,"onUpdate:modelValue":r[7]||=e=>B.value=e,placeholder:`e.g. toolshed.g2.bx.psu.edu/repos/iuc/`},null,8,[`modelValue`])])])]),_:1},8,[`visible`])])}}}),[[`__scopeId`,`data-v-5ba0c46d`]]),Pt={class:`view-header`},Ft={class:`header-actions`},It=`gxwf-ui:cache-transport`,Lt=A(S({__name:`ToolCacheView`,setup(t){function n(){try{let e=localStorage.getItem(It);if(e===`server`||e===`client`||e===`both`)return e}catch{}return`server`}let r=U(n());E(r,e=>{try{localStorage.setItem(It,e)}catch{}});let i=[{label:`Server`,value:`server`},{label:`Client`,value:`client`},{label:`Both`,value:`both`}];return(t,n)=>(L(),m(`div`,null,[F(`div`,Pt,[n[1]||=F(`div`,null,[F(`h1`,null,`Tool Cache`),F(`p`,{class:`subtitle`},[l(` Inspect and manage parsed-tool caches. The server-side cache lives on disk inside `),F(`code`,null,`gxwf-web`),l(`; the client-side cache is browser-local IndexedDB used by the client edge-annotations transport. `)])],-1),F(`div`,Ft,[e(d(me),{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,options:i,optionLabel:`label`,optionValue:`value`,allowEmpty:!1,"aria-label":`Cache transport`},null,8,[`modelValue`])])]),r.value===`server`||r.value===`both`?(L(),s(Nt,{key:0,transport:`server`})):h(``,!0),r.value===`client`||r.value===`both`?(L(),s(Nt,{key:1,transport:`client`})):h(``,!0),e(d(Ke))]))}}),[[`__scopeId`,`data-v-a92ad1cc`]]);export{Lt as default};
120
+ `,classes:{root:`p-confirmdialog`,icon:`p-confirmdialog-icon`,message:`p-confirmdialog-message`,pcRejectButton:`p-confirmdialog-reject-button`,pcAcceptButton:`p-confirmdialog-accept-button`}}),Ke={name:`ConfirmDialog`,extends:{name:`BaseConfirmDialog`,extends:H,props:{group:String,breakpoints:{type:Object,default:null},draggable:{type:Boolean,default:!0}},style:Ge,provide:function(){return{$pcConfirmDialog:this,$parentInstance:this}}},confirmListener:null,closeListener:null,data:function(){return{visible:!1,confirmation:null}},mounted:function(){var e=this;this.confirmListener=function(t){t&&t.group===e.group&&(e.confirmation=t,e.confirmation.onShow&&e.confirmation.onShow(),e.visible=!0)},this.closeListener=function(){e.visible=!1,e.confirmation=null},K.on(`confirm`,this.confirmListener),K.on(`close`,this.closeListener)},beforeUnmount:function(){K.off(`confirm`,this.confirmListener),K.off(`close`,this.closeListener)},methods:{accept:function(){this.confirmation.accept&&this.confirmation.accept(),this.visible=!1},reject:function(){this.confirmation.reject&&this.confirmation.reject(),this.visible=!1},onHide:function(){this.confirmation.onHide&&this.confirmation.onHide(),this.visible=!1}},computed:{appendTo:function(){return this.confirmation?this.confirmation.appendTo:`body`},target:function(){return this.confirmation?this.confirmation.target:null},modal:function(){return this.confirmation?this.confirmation.modal==null?!0:this.confirmation.modal:!0},header:function(){return this.confirmation?this.confirmation.header:null},message:function(){return this.confirmation?this.confirmation.message:null},blockScroll:function(){return this.confirmation?this.confirmation.blockScroll:!0},position:function(){return this.confirmation?this.confirmation.position:null},acceptLabel:function(){if(this.confirmation){var e=this.confirmation;return e.acceptLabel||e.acceptProps?.label||this.$primevue.config.locale.accept}return this.$primevue.config.locale.accept},rejectLabel:function(){if(this.confirmation){var e=this.confirmation;return e.rejectLabel||e.rejectProps?.label||this.$primevue.config.locale.reject}return this.$primevue.config.locale.reject},acceptIcon:function(){var e;return this.confirmation?this.confirmation.acceptIcon:(e=this.confirmation)!=null&&e.acceptProps?this.confirmation.acceptProps.icon:null},rejectIcon:function(){var e;return this.confirmation?this.confirmation.rejectIcon:(e=this.confirmation)!=null&&e.rejectProps?this.confirmation.rejectProps.icon:null},autoFocusAccept:function(){return this.confirmation.defaultFocus===void 0||this.confirmation.defaultFocus===`accept`},autoFocusReject:function(){return this.confirmation.defaultFocus===`reject`},closeOnEscape:function(){return this.confirmation?this.confirmation.closeOnEscape:!0}},components:{Dialog:J,Button:k}};function qe(t,n,i,o,c,l){var u=x(`Button`),d=x(`Dialog`);return L(),s(d,{visible:c.visible,"onUpdate:visible":[n[2]||=function(e){return c.visible=e},l.onHide],role:`alertdialog`,class:r(t.cx(`root`)),modal:l.modal,header:l.header,blockScroll:l.blockScroll,appendTo:l.appendTo,position:l.position,breakpoints:t.breakpoints,closeOnEscape:l.closeOnEscape,draggable:t.draggable,pt:t.pt,unstyled:t.unstyled},_({default:T(function(){return[t.$slots.container?h(``,!0):(L(),m(p,{key:0},[t.$slots.message?(L(),s(P(t.$slots.message),{key:1,message:c.confirmation},null,8,[`message`])):(L(),m(p,{key:0},[B(t.$slots,`icon`,{},function(){return[t.$slots.icon?(L(),s(P(t.$slots.icon),{key:0,class:r(t.cx(`icon`))},null,8,[`class`])):c.confirmation.icon?(L(),m(`span`,I({key:1,class:[c.confirmation.icon,t.cx(`icon`)]},t.ptm(`icon`)),null,16)):h(``,!0)]}),F(`span`,I({class:t.cx(`message`)},t.ptm(`message`)),a(l.message),17)],64))],64))]}),_:2},[t.$slots.container?{name:`container`,fn:T(function(e){return[B(t.$slots,`container`,{message:c.confirmation,closeCallback:e.closeCallback,acceptCallback:l.accept,rejectCallback:l.reject,initDragCallback:e.initDragCallback})]}),key:`0`}:void 0,t.$slots.container?void 0:{name:`footer`,fn:T(function(){return[e(u,I({class:[t.cx(`pcRejectButton`),c.confirmation.rejectClass],autofocus:l.autoFocusReject,unstyled:t.unstyled,text:c.confirmation.rejectProps?.text||!1,onClick:n[0]||=function(e){return l.reject()}},c.confirmation.rejectProps,{label:l.rejectLabel,pt:t.ptm(`pcRejectButton`)}),_({_:2},[l.rejectIcon||t.$slots.rejecticon?{name:`icon`,fn:T(function(e){return[B(t.$slots,`rejecticon`,{},function(){return[F(`span`,I({class:[l.rejectIcon,e.class]},t.ptm(`pcRejectButton`).icon,{"data-pc-section":`rejectbuttonicon`}),null,16)]})]}),key:`0`}:void 0]),1040,[`class`,`autofocus`,`unstyled`,`text`,`label`,`pt`]),e(u,I({label:l.acceptLabel,class:[t.cx(`pcAcceptButton`),c.confirmation.acceptClass],autofocus:l.autoFocusAccept,unstyled:t.unstyled,onClick:n[1]||=function(e){return l.accept()}},c.confirmation.acceptProps,{pt:t.ptm(`pcAcceptButton`)}),_({_:2},[l.acceptIcon||t.$slots.accepticon?{name:`icon`,fn:T(function(e){return[B(t.$slots,`accepticon`,{},function(){return[F(`span`,I({class:[l.acceptIcon,e.class]},t.ptm(`pcAcceptButton`).icon,{"data-pc-section":`acceptbuttonicon`}),null,16)]})]}),key:`0`}:void 0]),1040,[`label`,`class`,`autofocus`,`unstyled`,`pt`])]}),key:`1`}]),1032,[`visible`,`class`,`modal`,`header`,`blockScroll`,`appendTo`,`position`,`breakpoints`,`closeOnEscape`,`draggable`,`onUpdate:visible`,`pt`,`unstyled`])}Ke.render=qe;var Je={class:`cache-stats`,"data-description":`tool cache stats`},Ye={class:`stat-line`},Xe={key:0,class:`stat-line stat-meta`},Ze={key:0},Qe={key:1},$e=A(S({__name:`ToolCacheStats`,props:{stats:{}},setup(e){function t(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function n(e){return new Date(e).toLocaleString()}return(r,i)=>(L(),m(`div`,Je,[F(`div`,Ye,[F(`strong`,null,a(e.stats.count),1),i[2]||=l(` tools `,-1),e.stats.totalBytes===void 0?h(``,!0):(L(),m(p,{key:0},[i[0]||=l(` · `,-1),F(`strong`,null,a(t(e.stats.totalBytes)),1)],64)),(L(!0),m(p,null,te(e.stats.bySource,(e,t)=>(L(),m(p,{key:t},[i[1]||=l(` · `,-1),F(`strong`,null,a(e),1),l(` `+a(t),1)],64))),128))]),e.stats.oldest||e.stats.newest?(L(),m(`div`,Xe,[e.stats.oldest?(L(),m(`span`,Ze,`Oldest: `+a(n(e.stats.oldest)),1)):h(``,!0),e.stats.newest?(L(),m(`span`,Qe,`Newest: `+a(n(e.stats.newest)),1)):h(``,!0)])):h(``,!0)]))}}),[[`__scopeId`,`data-v-0e88204f`]]),et={class:`cache-table`},tt={class:`list-toolbar`},nt={class:`undecodable-toggle`},rt={class:`count`},it={class:`empty-state`},at={key:0},ot={key:1},st={class:`tool-cell`},ct={key:0,class:`pi pi-exclamation-triangle warn-icon`},lt={class:`tool-id`},ut={key:0},dt={key:1,class:`muted`},ft=[`title`],pt=[`href`],mt=A(S({__name:`ToolCacheTable`,props:{entries:{},loading:{type:Boolean}},emits:[`view`,`refetch`,`delete`],setup(t,{emit:n}){let r=t,i=n,o=U(``),s=U(null),l=U(!1),u=c(()=>Array.from(new Set(r.entries.map(e=>e.source))).sort()),f=c(()=>{let e=o.value.toLowerCase();return r.entries.filter(t=>!(e&&!t.toolId.toLowerCase().includes(e)||s.value&&t.source!==s.value||l.value&&t.decodable))});function p(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function g(e){let t=Date.now()-new Date(e).getTime(),n=Math.round(t/1e3);if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<48?`${i}h ago`:`${Math.round(i/24)}d ago`}return(n,r)=>{let c=C(`tooltip`);return L(),m(`div`,et,[F(`div`,tt,[e(d(z),{class:`search-field`},{default:T(()=>[e(d(D),{class:`pi pi-search`}),e(d(M),{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,placeholder:`Filter by tool id…`,size:`small`},null,8,[`modelValue`])]),_:1}),e(d(ce),{modelValue:s.value,"onUpdate:modelValue":r[1]||=e=>s.value=e,options:u.value,placeholder:`All sources`,showClear:``,size:`small`,class:`source-select`},null,8,[`modelValue`,`options`]),F(`label`,nt,[e(d(ie),{modelValue:l.value,"onUpdate:modelValue":r[2]||=e=>l.value=e,binary:!0},null,8,[`modelValue`]),r[3]||=F(`span`,null,`Undecodable only`,-1)]),F(`span`,rt,a(f.value.length)+a(f.value.length===t.entries.length?``:` of ${t.entries.length}`)+` entries `,1)]),e(d(se),{value:f.value,loading:t.loading,dataKey:`cacheKey`,rowHover:!0,stripedRows:``,sortField:`cachedAt`,sortOrder:-1,paginator:f.value.length>25,rows:25,rowsPerPageOptions:[25,50,100]},{empty:T(()=>[F(`div`,it,[r[4]||=F(`i`,{class:`pi pi-database empty-icon`},null,-1),o.value||s.value||l.value?(L(),m(`p`,at,` No entries match the current filters. `)):(L(),m(`p`,ot,`The tool cache is empty.`))])]),default:T(()=>[e(d(G),{field:`toolId`,header:`Tool`,sortable:``},{body:T(({data:e})=>[F(`div`,st,[e.decodable?h(``,!0):v((L(),m(`i`,ct,null,512)),[[c,`Cached payload does not decode as a ParsedTool`,void 0,{right:!0}]]),F(`span`,lt,a(e.toolId),1)])]),_:1}),e(d(G),{field:`toolVersion`,header:`Version`,sortable:``,style:{width:`10rem`}}),e(d(G),{field:`source`,header:`Source`,sortable:``,style:{width:`7rem`}},{body:T(({data:t})=>[e(d(de),{value:t.source,severity:`secondary`},null,8,[`value`])]),_:1}),e(d(G),{field:`sizeBytes`,header:`Size`,sortable:``,style:{width:`7rem`}},{body:T(({data:e})=>[e.sizeBytes===void 0?(L(),m(`span`,dt,`—`)):(L(),m(`span`,ut,a(p(e.sizeBytes)),1))]),_:1}),e(d(G),{field:`cachedAt`,header:`Cached`,sortable:``,style:{width:`11rem`}},{body:T(({data:e})=>[F(`span`,{title:e.cachedAt},a(g(e.cachedAt)),9,ft)]),_:1}),e(d(G),{header:``,style:{width:`11rem`,"text-align":`right`}},{body:T(({data:t})=>[v(e(d(k),{icon:`pi pi-eye`,text:``,size:`small`,onClick:e=>i(`view`,t)},null,8,[`onClick`]),[[c,`View raw JSON`,void 0,{left:!0}]]),v(e(d(k),{icon:`pi pi-refresh`,text:``,size:`small`,disabled:!t.refetchable,onClick:e=>i(`refetch`,t)},null,8,[`disabled`,`onClick`]),[[c,t.refetchable?`Re-fetch from source`:`Cannot re-fetch — tool id is unknown/orphan`,void 0,{left:!0}]]),t.toolshedUrl?(L(),m(`a`,{key:0,href:t.toolshedUrl,target:`_blank`,rel:`noopener noreferrer`},[v(e(d(k),{icon:`pi pi-external-link`,text:``,size:`small`},null,512),[[c,`Open ToolShed`,void 0,{left:!0}]])],8,pt)):h(``,!0),v(e(d(k),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:e=>i(`delete`,t)},null,8,[`onClick`]),[[c,`Delete`,void 0,{left:!0}]])]),_:1})]),_:1},8,[`value`,`loading`,`paginator`])])}}}),[[`__scopeId`,`data-v-23645664`]]),ht={key:0,class:`loading-state`},gt={key:1,class:`error-state`},_t={key:2,class:`raw-json`},vt=A(S({__name:`ToolCacheRawDialog`,props:{modelValue:{type:Boolean},entry:{},load:{type:Function}},emits:[`update:modelValue`],setup(t,{emit:r}){let i=t,o=r,l=c({get:()=>i.modelValue,set:e=>o(`update:modelValue`,e)}),u=n(),f=U(null),p=U(!1),h=U(null),g=c(()=>f.value===null?``:JSON.stringify(f.value,null,2));E(()=>[i.modelValue,i.entry?.cacheKey],async([e,t])=>{if(!(!e||!t)){p.value=!0,h.value=null,f.value=null;try{f.value=(await i.load(t))?.contents??null}catch(e){h.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}});async function _(){await navigator.clipboard.writeText(g.value),u.add({severity:`success`,summary:`Copied`,life:1500})}return(n,r)=>(L(),s(d(J),{visible:l.value,"onUpdate:visible":r[1]||=e=>l.value=e,header:t.entry?.toolId??`Cached payload`,modal:``,style:{width:`70vw`},breakpoints:{"960px":`90vw`}},{footer:T(()=>[e(d(k),{label:`Copy`,icon:`pi pi-copy`,text:``,disabled:!g.value,onClick:_},null,8,[`disabled`]),e(d(k),{label:`Close`,icon:`pi pi-times`,onClick:r[0]||=e=>l.value=!1})]),default:T(()=>[p.value?(L(),m(`div`,ht,`Loading…`)):h.value?(L(),m(`div`,gt,a(h.value),1)):(L(),m(`pre`,_t,a(g.value),1))]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-5ded7233`]]),yt=U([]),bt=U({count:0,bySource:{}}),xt=U(!1),X=U(null);function Z(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`&&t.length>0)return t}return t}function St(){let e=R();async function t(t={}){xt.value=!0,X.value=null;try{let{data:n,error:r}=await e.GET(`/api/tool-cache`,{params:{query:t.decode?{decode:`1`}:{}}});r?X.value=Z(r,`Failed to load tool cache`):n&&(yt.value=n.entries,bt.value=n.stats)}finally{xt.value=!1}}async function n(t){let{data:n,error:r}=await e.GET(`/api/tool-cache/{cacheKey}`,{params:{path:{cacheKey:t}}});if(r)throw Error(Z(r,`Failed to load raw entry`));return n}async function r(n){X.value=null;let{error:r}=await e.DELETE(`/api/tool-cache/{cacheKey}`,{params:{path:{cacheKey:n}}});if(r){let e=Z(r,`Delete failed`);throw X.value=e,Error(e)}await t()}async function i(n){X.value=null;let{data:r,error:i}=await e.DELETE(`/api/tool-cache`,{params:{query:n?{prefix:n}:{}}});if(i){let e=Z(i,`Clear failed`);throw X.value=e,Error(e)}return await t(),r}async function a(n,r){X.value=null;let{data:i,error:a}=await e.POST(`/api/tool-cache/refetch`,{body:{toolId:n,...r?{toolVersion:r}:{}}});if(a){let e=Z(a,`Refetch failed`);throw X.value=e,Error(e)}return await t(),i}async function o(n,r){X.value=null;let{data:i,error:a}=await e.POST(`/api/tool-cache/add`,{body:{toolId:n,...r?{toolVersion:r}:{}}});if(a){let e=Z(a,`Add failed`);throw X.value=e,Error(e)}return await t(),i}return{entries:yt,stats:bt,loading:xt,error:X,refresh:t,loadRaw:n,del:r,clear:i,refetch:a,add:o}}var Ct=U([]),wt=U({count:0,bySource:{}}),Tt=U(!1),Q=U(null);function $(e){return e instanceof Error?e.message:String(e)}function Et(){async function e(e={}){Tt.value=!0,Q.value=null;try{let t=q().cache,n=await t.listCached(),r=[],i={},a,o,s=0,c=!1;for(let l of n){let n=pe(l.tool_id),u=l.source!==`orphan`&&l.tool_id!==`unknown`&&l.tool_id!==``,d={cacheKey:l.cache_key,toolId:l.tool_id,toolVersion:l.tool_version,source:l.source,sourceUrl:l.source_url,cachedAt:l.cached_at,decodable:!0,refetchable:u};if(n!==null){let[e,t]=n.trsToolId.split(`~`);e&&t&&(d.toolshedUrl=`${n.toolshedUrl}/view/${e}/${t}`)}let f=await t.statCached(l.cache_key);f!==null&&(d.sizeBytes=f.sizeBytes),e.decode&&(d.decodable=await t.loadCached(l.cache_key)!==null),r.push(d),i[d.source]=(i[d.source]??0)+1,(a===void 0||d.cachedAt<a)&&(a=d.cachedAt),(o===void 0||d.cachedAt>o)&&(o=d.cachedAt),d.sizeBytes!==void 0&&(s+=d.sizeBytes,c=!0)}let l={count:r.length,bySource:i};a!==void 0&&(l.oldest=a),o!==void 0&&(l.newest=o),c&&(l.totalBytes=s),Ct.value=r,wt.value=l}catch(e){Q.value=$(e)}finally{Tt.value=!1}}async function t(e){let t=q().cache,n=await t.loadCachedRaw(e);if(n===null)throw Error(`No cached entry: ${e}`);return{contents:n,decodable:await t.loadCached(e)!==null}}async function n(t){Q.value=null;try{if(!await q().cache.removeCached(t))throw Error(`No cached entry: ${t}`);await e()}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function r(t){Q.value=null;try{let n=await q().cache.clearCache(t);return await e(),{removed:n}}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function i(t,n){Q.value=null;try{let r=await q().refetch(t,n??null,{force:!0});return await e(),r}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}async function a(t,n){Q.value=null;try{let r=await q().refetch(t,n??null);return await e(),{cacheKey:r.cacheKey,alreadyCached:r.alreadyCached}}catch(e){let t=$(e);throw Q.value=t,e instanceof Error?e:Error(t)}}return{entries:Ct,stats:wt,loading:Tt,error:Q,refresh:e,loadRaw:t,del:n,clear:r,refetch:i,add:a}}var Dt={class:`cache-panel`},Ot={class:`panel-header`},kt={class:`panel-actions`},At={class:`decode-toggle`},jt={class:`add-form`},Mt={class:`add-form`},Nt=A(S({__name:`ToolCachePanel`,props:{transport:{}},setup(t){let r=t,i=c(()=>r.transport===`server`?`Server-side cache`:`Client-side cache (IndexedDB)`),{entries:o,stats:u,loading:f,error:p,refresh:g,loadRaw:_,del:ee,clear:y,refetch:b,add:x}=r.transport===`server`?St():Et(),S=n(),w=ue(),E=U(null),D=U(!1),te=U(null),O=U(!1);function A(){g({decode:O.value})}function j(e){return e instanceof Error?e.message:String(e)}let N=U(!1),P=U(``),I=U(``),R=U(!1),z=U(!1),B=U(``),V=U(!1),ae=[{label:`Add tool…`,icon:`pi pi-plus`,command:()=>N.value=!0},{label:`Clear by prefix…`,icon:`pi pi-filter-slash`,command:()=>z.value=!0},{separator:!0},{label:`Clear all`,icon:`pi pi-trash`,command:()=>{w.require({message:`Remove all ${u.value.count} cached tools?`,header:`Clear cache`,icon:`pi pi-exclamation-triangle`,acceptProps:{severity:`danger`,label:`Clear all`},accept:async()=>{try{let e=await y();S.add({severity:`success`,summary:`Removed ${e?.removed??0} entries`,life:2500})}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}}})}}];function H(e){te.value=e,D.value=!0}function oe(e){w.require({message:`Delete cached entry for ${e.toolId} ${e.toolVersion}?`,header:`Delete entry`,icon:`pi pi-exclamation-triangle`,acceptProps:{severity:`danger`,label:`Delete`},accept:async()=>{try{await ee(e.cacheKey),S.add({severity:`success`,summary:`Deleted ${e.toolId}`,life:2e3})}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}}})}async function se(e){try{await b(e.toolId,e.toolVersion),S.add({severity:`success`,summary:`Re-fetched ${e.toolId} ${e.toolVersion}`,life:2500})}catch(e){S.add({severity:`error`,summary:`Failed: ${j(e)}`,life:4e3})}}async function ce(){if(P.value){R.value=!0;try{let e=await x(P.value,I.value||void 0);S.add({severity:`success`,summary:e?.alreadyCached?`Already cached`:`Added ${P.value}`,life:2500}),N.value=!1,P.value=``,I.value=``}catch(e){S.add({severity:`error`,summary:`Failed: ${j(e)}`,life:4e3})}finally{R.value=!1}}}async function W(){if(B.value){V.value=!0;try{let e=await y(B.value);S.add({severity:`success`,summary:`Removed ${e?.removed??0} entries`,life:2500}),z.value=!1,B.value=``}catch(e){S.add({severity:`error`,summary:j(e),life:4e3})}finally{V.value=!1}}}return ne(A),(n,r)=>{let c=C(`tooltip`);return L(),m(`section`,Dt,[F(`div`,Ot,[F(`h2`,null,a(i.value),1),F(`div`,kt,[v((L(),m(`label`,At,[e(d(ie),{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,binary:!0,onChange:A},null,8,[`modelValue`]),r[10]||=F(`span`,null,`Decode probe`,-1)])),[[c,`Probe each entry for decode-ability (slower)`,void 0,{bottom:!0}]]),e(d(k),{label:`Refresh`,icon:`pi pi-refresh`,text:``,loading:d(f),onClick:A},null,8,[`loading`]),e(d(k),{icon:`pi pi-ellipsis-v`,text:``,"aria-label":`Cache actions`,onClick:r[1]||=e=>E.value?.toggle(e)}),e(d(me),{ref_key:`menu`,ref:E,model:ae,popup:!0},null,512)])]),d(p)?(L(),s(d(re),{key:0,severity:`error`,closable:!1},{default:T(()=>[l(a(d(p)),1)]),_:1})):h(``,!0),e($e,{stats:d(u)},null,8,[`stats`]),e(mt,{entries:d(o),loading:d(f),onView:H,onRefetch:se,onDelete:oe},null,8,[`entries`,`loading`]),e(vt,{modelValue:D.value,"onUpdate:modelValue":r[2]||=e=>D.value=e,entry:te.value,load:d(_)},null,8,[`modelValue`,`entry`,`load`]),e(d(J),{visible:N.value,"onUpdate:visible":r[6]||=e=>N.value=e,header:`Add tool to ${t.transport} cache`,modal:``,style:{width:`24rem`}},{footer:T(()=>[e(d(k),{label:`Cancel`,text:``,onClick:r[5]||=e=>N.value=!1}),e(d(k),{label:`Add`,icon:`pi pi-plus`,loading:R.value,onClick:ce},null,8,[`loading`])]),default:T(()=>[F(`div`,jt,[F(`label`,null,[r[11]||=F(`span`,null,`Tool ID`,-1),e(d(M),{modelValue:P.value,"onUpdate:modelValue":r[3]||=e=>P.value=e,placeholder:`toolshed.g2.../repos/owner/repo/tool/version`},null,8,[`modelValue`])]),F(`label`,null,[r[12]||=F(`span`,null,`Version (optional)`,-1),e(d(M),{modelValue:I.value,"onUpdate:modelValue":r[4]||=e=>I.value=e},null,8,[`modelValue`])])])]),_:1},8,[`visible`,`header`]),e(d(J),{visible:z.value,"onUpdate:visible":r[9]||=e=>z.value=e,header:`Clear by tool-id prefix`,modal:``,style:{width:`24rem`}},{footer:T(()=>[e(d(k),{label:`Cancel`,text:``,onClick:r[8]||=e=>z.value=!1}),e(d(k),{label:`Clear`,icon:`pi pi-trash`,severity:`danger`,loading:V.value,onClick:W},null,8,[`loading`])]),default:T(()=>[F(`div`,Mt,[F(`label`,null,[r[13]||=F(`span`,null,`Tool ID prefix`,-1),e(d(M),{modelValue:B.value,"onUpdate:modelValue":r[7]||=e=>B.value=e,placeholder:`e.g. toolshed.g2.bx.psu.edu/repos/iuc/`},null,8,[`modelValue`])])])]),_:1},8,[`visible`])])}}}),[[`__scopeId`,`data-v-5ba0c46d`]]),Pt={class:`view-header`},Ft={class:`header-actions`},It=`gxwf-ui:cache-transport`,Lt=A(S({__name:`ToolCacheView`,setup(t){function n(){try{let e=localStorage.getItem(It);if(e===`server`||e===`client`||e===`both`)return e}catch{}return`server`}let r=U(n());E(r,e=>{try{localStorage.setItem(It,e)}catch{}});let i=[{label:`Server`,value:`server`},{label:`Client`,value:`client`},{label:`Both`,value:`both`}];return(t,n)=>(L(),m(`div`,null,[F(`div`,Pt,[n[1]||=F(`div`,null,[F(`h1`,null,`Tool Cache`),F(`p`,{class:`subtitle`},[l(` Inspect and manage parsed-tool caches. The server-side cache lives on disk inside `),F(`code`,null,`gxwf-web`),l(`; the client-side cache is browser-local IndexedDB used by the client edge-annotations transport. `)])],-1),F(`div`,Ft,[e(d(he),{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,options:i,optionLabel:`label`,optionValue:`value`,allowEmpty:!1,"aria-label":`Cache transport`},null,8,[`modelValue`])])]),r.value===`server`||r.value===`both`?(L(),s(Nt,{key:0,transport:`server`})):h(``,!0),r.value===`client`||r.value===`both`?(L(),s(Nt,{key:1,transport:`client`})):h(``,!0),e(d(Ke))]))}}),[[`__scopeId`,`data-v-a92ad1cc`]]);export{Lt as default};
@@ -0,0 +1,198 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DZ5cLraE.js","assets/index-DujJTa6m.js","assets/useApi-CXAk43j3.js","assets/index-DwHu09Uc.css","assets/chunk-U2HBQHQK-Cw2C_MTw.js","assets/src-Com_8MQM.js","assets/chunk-Bj-mKKzh.js","assets/chunk-5PVQY5BW-Dc2FZZd9.js","assets/dist-J4JWBlIj.js","assets/chunk-ICPOFSXX-BfFbNaWT.js","assets/purify.es-PlwmxSh4.js","assets/_baseFor-CPf-8vV8.js","assets/isEmpty-D5KDGotR.js","assets/chunk-336JU56O-DU7Z6ZqP.js","assets/chunk-5FUZZQ4R-BTrpKOs2.js","assets/chunk-X2U36JSP-D9cn8Q0g.js","assets/chunk-ZZ45TVLE-jc5HPlLj.js","assets/rough.esm-Ci7Kjt46.js","assets/chunk-ENJZ2VHE-D72PJYFH.js","assets/line-DLs8pe8_.js","assets/path-CNO468J-.js","assets/array-DYRGGQae.js","assets/chunk-BSJP7CBP-DG8ixKk7.js","assets/chunk-426QAEUC-DYNMZOw6.js","assets/chunk-XPW4576I-DLAs5a7i.js","assets/cytoscape-dagre-CO2HNyOd.js","assets/cytoscape-popper-D30IDL9Y.js","assets/lib-qyXcPJAL.js","assets/tippy.esm-BUtiz0E2.js","assets/tippy-Lcq2UOUK.css"])))=>i.map(i=>d[i]);
2
+ import{s as e}from"./chunk-Bj-mKKzh.js";import{$ as t,$t as n,C as r,Cn as i,E as a,En as o,F as s,J as c,Jt as l,Kt as u,Nt as d,Qt as f,Rt as p,Sn as m,St as h,U as g,Vt as _,Wt as v,X as y,Xt as b,Yt as x,_ as S,_n as C,a as ee,an as te,b as ne,dn as re,en as w,fn as T,gn as E,hn as D,i as ie,ln as O,lt as k,m as A,n as j,on as ae,p as M,pn as N,qt as P,r as F,rn as I,sn as L,tt as R,un as z,vn as oe,x as B,xt as V,yn as H,yt as U}from"./useApi-CXAk43j3.js";import{a as W,c as se,d as G,f as ce,i as K,n as le,r as q,s as ue,t as J}from"./index-DujJTa6m.js";import{a as de,i as fe,n as pe,r as me}from"./useOperation-6c4UXxWc.js";import{a as he,d as Y,i as ge,l as _e,n as ve,o as ye,r as be,s as xe,t as Se,u as Ce}from"./useToolInfoService-C1D4X77C.js";function we(){let e=H(null),t=H(!1),n=H(null),{loadWorkflowContent:r}=fe();async function i(i,a={}){t.value=!0,n.value=null;try{e.value=he(await r(i),{edgeAnnotations:a.edgeAnnotations})}catch(t){n.value=t instanceof Error?t.message:String(t),e.value=null}finally{t.value=!1}}return{diagram:e,loading:t,error:n,build:i}}function Te(){let e=H(null),t=H(!1),n=H(null),{loadWorkflowContent:r}=fe();async function i(i,a={}){t.value=!0,n.value=null;try{e.value=ge(await r(i),{edgeAnnotations:a.edgeAnnotations,layout:`preset`})}catch(t){n.value=t instanceof Error?t.message:String(t),e.value=null}finally{t.value=!1}}return{elements:e,loading:t,error:n,build:i}}function Ee(e){return e.nodes.map(e=>e.position).filter(e=>e!=null).length===0||e.nodes.every((e,t)=>{let n=e.position;return n!=null&&n.x===10*t&&n.y===10*t})?`dagre`:`preset`}var De=new Set([`GalaxyUserTool`,`GalaxyTool`]);function Oe(e){if(!e||typeof e!=`object`)return{toolId:null,toolVersion:null,representation:null,inlineClass:null};let t=e,n=ke(t),r=n&&typeof n.class==`string`&&De.has(n.class)?n.class:null;return{toolId:typeof t.tool_id==`string`?t.tool_id:null,toolVersion:typeof t.tool_version==`string`?t.tool_version:null,representation:n,inlineClass:r}}function ke(e){let t=e.tool_representation;if(t&&typeof t==`object`&&!Array.isArray(t))return t;let n=e.run;if(n&&typeof n==`object`&&!Array.isArray(n)){let e=n.class;if(typeof e==`string`&&De.has(e))return n}return null}function Ae(e,t){return e instanceof Me?e.resolve(t):je(e,t)}function je(e,t){let n=Oe(t);if(n.inlineClass!==null)return n.inlineClass!==`GalaxyUserTool`||n.representation===null?void 0:ve(n.representation);if(n.toolId)return e.getToolInfo(n.toolId,n.toolVersion)}var Me=class{inner;representationCache=new WeakMap;constructor(e){this.inner=e}getToolInfo(e,t){return this.inner.getToolInfo(e,t)}resolve(e){let t=Oe(e);if(t.inlineClass!==null)return t.inlineClass!==`GalaxyUserTool`||t.representation===null?void 0:this.parseInlineOnce(t.representation);if(t.toolId)return this.inner.getToolInfo(t.toolId,t.toolVersion)}parseInlineOnce(e){let t=e,n=this.representationCache.get(t);if(n)return n;let r=ve(e);return this.representationCache.set(t,r),r}};function Ne(e){let t=[];return Pe(e,t),t}function Pe(e,t){let n=e.steps;if(typeof n!=`object`||!n)return;let r=Array.isArray(n)?n:Object.values(n);for(let e of r){if(typeof e!=`object`||!e)continue;let n=e,r=Oe(n);r.representation&&r.inlineClass&&t.push({representation:r.representation,inlineClass:r.inlineClass});let i=n.subworkflow;i&&typeof i==`object`&&!Array.isArray(i)&&Pe(i,t);let a=n.run;a&&typeof a==`object`&&!Array.isArray(a)&&a.class===`GalaxyWorkflow`&&Pe(a,t)}}function Fe(e){return e instanceof Me?e:new Me(e)}function Ie(e){let t=new Set,n=new Map,r=new Map;for(let[i,a]of e)t.add(i),t.add(a),n.has(i)||n.set(i,new Set),r.has(i)||r.set(i,0),r.has(a)||r.set(a,0),i!==a&&(n.get(i).has(a)||(n.get(i).add(a),r.set(a,(r.get(a)??0)+1)));let i=[];for(let e of t)(r.get(e)??0)===0&&i.push(e);let a=[];for(;i.length>0;){let e=i.shift();a.push(e);for(let t of n.get(e)??[]){let e=(r.get(t)??0)-1;r.set(t,e),e===0&&i.push(t)}}if(a.length!==t.size)throw Error(`topological sort: cycle detected`);return a}var Le=new Set([`gx_text`,`gx_integer`,`gx_float`,`gx_boolean`,`gx_color`,`gx_select`]);function Re(e,t){return Be(ze(e),Fe(t))}function ze(e){if(typeof e!=`object`||!e)throw Error(`buildWorkflowGraph: workflow must be an object`);let t=e;return t.class===`GalaxyWorkflow`?ye(t):xe(t)}function Be(e,t){let n={};for(let[r,i]of Object.entries(e.steps))n[r]=Ve(r,i,t);return{steps:n,sortedStepIds:tt(n)}}function Ve(e,t,n){let r=t.label??null,i=t.type??`tool`,a;return a=i===`data_input`||i===`data_collection_input`||i===`parameter_input`?Ue(e,t,i):i===`tool`?We(e,t,n):i===`subworkflow`?Ge(e,t,n):He(e,null,i),a.label=r,a}function He(e,t,n){return{stepId:e,toolId:t,stepType:n,inputs:{},outputs:{},connections:{},subworkflowOutputMap:{}}}function Ue(e,t,n){let r=t.tool_state??{};if(n===`data_input`)return{...He(e,null,n),outputs:{output:{name:`output`,type:`data`}}};if(n===`data_collection_input`){let t=r.collection_type??`list`;return{...He(e,null,n),outputs:{output:{name:`output`,type:`collection`,collectionType:t}},declaredCollectionType:t}}let i=r.parameter_type??`text`;return{...He(e,null,n),outputs:{output:{name:`output`,type:i}}}}function We(e,t,n){let r=Ye(t),i={},a={},o=Ae(n,t);return o&&(i=Xe(o.inputs,t.tool_state??{}),a=et(o.outputs)),t.when&&`when`in r&&(i.when={name:`when`,statePath:`when`,type:`boolean`}),{stepId:e,toolId:t.tool_id??(o?o.id:null)??null,toolVersion:t.tool_version??(o?o.version:null)??null,stepType:`tool`,inputs:i,outputs:a,connections:r,subworkflowOutputMap:{}}}function Ge(e,t,n){let r=Ye(t),i,a={},o={};return t.subworkflow!=null&&(i=Be(t.subworkflow,n),a=Je(t.subworkflow),o=Ke(r,i)),t.when&&`when`in r&&(o.when={name:`when`,statePath:`when`,type:`boolean`}),{stepId:e,toolId:null,stepType:`subworkflow`,inputs:o,outputs:{},connections:r,innerGraph:i,subworkflowOutputMap:a}}function Ke(e,t){let n={};for(let[r,i]of Object.entries(e))for(let e of i){let i=e.inputSubworkflowStepId;if(i&&i in t.steps){let e=t.steps[i];n[r]=qe(e,r)}}return n}function qe(e,t){return e.stepType===`data_collection_input`?{name:t,statePath:t,type:`collection`,collectionType:e.declaredCollectionType??null}:e.stepType===`data_input`?{name:t,statePath:t,type:`data`}:e.stepType===`parameter_input`?{name:t,statePath:t,type:e.outputs.output?.type??`text`}:{name:t,statePath:t,type:`data`}}function Je(e){let t={};for(let[n,r]of Object.entries(e.steps))for(let e of r.workflow_outputs??[]){if(!e.output_name)continue;let r=e.label||`${n}:${e.output_name}`;t[r]=[n,e.output_name]}return t}function Ye(e){let t={};for(let[n,r]of Object.entries(e.input_connections??{})){let e=r,i=[];for(let t of e){let e=t.input_subworkflow_step_id;i.push({sourceStep:String(t.id),outputName:t.output_name,inputSubworkflowStepId:e==null?void 0:String(e)})}i.length>0&&(t[n]=i)}return t}function Xe(e,t,n){let r={};for(let i of e){let e=i.name,a=n==null?e:`${n}|${e}`;if(i.parameter_type===`gx_data`)r[a]={name:e,statePath:a,type:`data`,multiple:i.multiple??!1,optional:i.optional??!1,extensions:[...i.extensions??[`data`]]};else if(i.parameter_type===`gx_data_collection`)r[a]={name:e,statePath:a,type:`collection`,collectionType:i.collection_type??null,optional:i.optional??!1,extensions:[...i.extensions??[`data`]]};else if(Le.has(i.parameter_type))r[a]={name:e,statePath:a,type:i.parameter_type.slice(3)};else if(i.parameter_type===`gx_conditional`){let n=i,o=Ze(t[e]),s=Qe(n,o);if(s)Object.assign(r,Xe(s.parameters,o,a));else for(let e of n.whens)Object.assign(r,Xe(e.parameters,o,a))}else if(i.parameter_type===`gx_repeat`){let o=i.parameters??[],s=t[e],c=Array.isArray(s)?s:[];if(c.length>0)for(let t=0;t<c.length;t++){let i=Ze(c[t]),a=n==null?`${e}_${t}`:`${n}|${e}_${t}`;Object.assign(r,Xe(o,i,a))}else Object.assign(r,Xe(o,{},a))}else if(i.parameter_type===`gx_section`){let n=Ze(t[e]),o=i.parameters??[];Object.assign(r,Xe(o,n,a))}}return r}function Ze(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Qe(e,t){let n=t[e.test_parameter.name]??null;if(n!==null){for(let t of e.whens)if($e(n,t.discriminator))return t}for(let t of e.whens)if(t.is_default_when)return t;return null}function $e(e,t){return typeof t==`boolean`&&typeof e==`boolean`?t===e:String(e)===String(t)}function et(e){let t={};for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=e.name;if(!r)continue;let i=e.type;if(i===`data`)t[r]={name:r,type:`data`,format:e.format??null,formatSource:e.format_source??null};else if(i===`collection`){let n=e.structure??{};t[r]={name:r,type:`collection`,collectionType:n.collection_type??null,collectionTypeSource:n.collection_type_source??null,collectionTypeFromRules:n.collection_type_from_rules??null,structuredLike:n.structured_like??null}}else (i===`text`||i===`integer`||i===`float`||i===`boolean`)&&(t[r]={name:r,type:i})}return t}function tt(e){let t=new Set(Object.keys(e)),n=[];for(let[r,i]of Object.entries(e)){n.push([r,r]);for(let e of Object.values(i.connections))for(let i of e)t.has(i.sourceStep)&&n.push([i.sourceStep,r])}return Ie(n)}var X={isCollection:!1,collectionType:null,rank:0,accepts:function(e){return!1},compatible:function(e){return!1},canMapOver:function(){return!1},toString:function(){return`NullCollectionType[]`},append:function(e){return e},equal:function(e){return e===this},effectiveMapOver:function(e){return X}},nt={isCollection:!0,collectionType:`any`,rank:-1,accepts:function(e){return X!==e},compatible:function(e){return X!==e},canMapOver:function(){return!1},toString:function(){return`AnyCollectionType[]`},append:function(){return nt},equal:function(e){return e===this},effectiveMapOver:function(e){return X}};function rt(e){return e.startsWith(`sample_sheet`)?`list`+e.slice(12):e}var Z=class e{collectionType;isCollection;rank;constructor(e){this.collectionType=e,this.isCollection=!0,this.rank=e.split(`:`).length}append(t){return t===X?this:t===nt?t:new e(`${this.collectionType}:${t.collectionType}`)}accepts(e){let t=e.collectionType;if(e===X)return!1;if(e===nt)return!0;if(this.collectionType.startsWith(`sample_sheet`)&&t&&!t.startsWith(`sample_sheet`))return!1;let n=rt(this.collectionType),r=t?rt(t):null;if(r===`paired`&&n==`paired_or_unpaired`)return!0;if(n.endsWith(`:paired_or_unpaired`)){let e=n.slice(0,-19);if(r===e||r===`${e}:paired`)return!0}return r==n}compatible(e){return this.accepts(e)||e.accepts(this)}canMapOver(e){if(!e.collectionType||e.collectionType===`any`||e.collectionType.startsWith(`sample_sheet`)&&!this.collectionType.startsWith(`sample_sheet`))return!1;let t=rt(this.collectionType),n=rt(e.collectionType);if(this.rank<=e.rank)return n==`paired_or_unpaired`?!t.endsWith(`paired`):n.endsWith(`:paired_or_unpaired`)?!t.endsWith(`:paired`):!1;let r=n;if(this._endsWith(t,`:${r}`)||r==`paired_or_unpaired`)return!0;if(r.endsWith(`:paired_or_unpaired`)){let e=r.substring(0,r.lastIndexOf(`:`)),n;return n=t.endsWith(`:paired`)?t.substring(0,t.lastIndexOf(`:`)):t,this._endsWith(n,e)}return!1}effectiveMapOver(t){let n=this.collectionType;if(t.collectionType&&this.canMapOver(t)){let r=t.collectionType,i=rt(n),a=rt(r);if(a.endsWith(`paired_or_unpaired`)){if(a==`paired_or_unpaired`)return i.endsWith(`list`)?new e(n):new e(n.substring(0,n.lastIndexOf(`:`)));if(i.endsWith(`:paired`)||i.endsWith(`:list`)){let t=n,a=r;for(;a.lastIndexOf(`:`)!==-1;)a=a.substring(0,a.lastIndexOf(`:`)),t=t.substring(0,t.lastIndexOf(`:`));return i.endsWith(`:paired`)&&(t=t.substring(0,t.lastIndexOf(`:`))),new e(t)}}return new e(n.substring(0,n.length-r.length-1))}return X}equal(e){return e?e.collectionType==this.collectionType:!1}toString(){return`CollectionType[${this.collectionType}]`}_endsWith(e,t){return e.indexOf(t,e.length-t.length)!==-1}};function Q(e){return e===X}function $(e){return e===nt}function it(e){let t=e.collectionType;return!t||!t.includes(`,`)?[e]:t.split(`,`).map(e=>new Z(e.trim()))}function at(e,t){if(Q(e)||Q(t))return!1;if($(t))return!Q(e);if($(e))return!1;for(let n of it(t))if(n.accepts(e))return!0;return!1}function ot(e,t){if(Q(e)||$(e)||$(t))return!1;if(Q(t))return!0;for(let n of it(t))if(e.canMapOver(n))return!0;return!1}function st(e,t){return Q(e)&&Q(t)?!0:Q(e)||Q(t)?!1:$(e)||$(t)?!0:e.compatible(t)}function ct(e,t){if(!ot(e,t))return null;if(Q(t))return e instanceof Z?new Z(e.collectionType):e;for(let n of it(t))if(e.canMapOver(n))return e.effectiveMapOver(n);return null}function lt(e){if(!e.isCollection||$(e))return!1;let t=e.collectionType;return t?(t.startsWith(`sample_sheet`)&&(t=`list`+t.slice(12)),t===`list`||t.startsWith(`list:`)):!1}function ut(e){return e.rank}function dt(e,t){let n={};for(let[t,r]of Object.entries(e.steps)){n[t]={};for(let[e,i]of Object.entries(r.outputs))n[t][e]=bt(i)}if(t)for(let[e,r]of Object.entries(t))n[e]&&Object.assign(n[e],r);let r=[];for(let t of e.sortedStepIds){let i=e.steps[t],a={stepId:t,label:i.label??null,toolId:i.toolId,toolVersion:i.toolVersion,stepType:i.stepType,mapOver:null,connections:[],errors:[]};if(Object.keys(i.connections).length===0){r.push(a);continue}let o=[];for(let[e,r]of Object.entries(i.connections))for(let s of r){let r=mt(s.sourceStep,s.outputName,t,e,i.inputs[e],n);a.connections.push(r),r.status===`ok`&&r.mapping?o.push(new Z(r.mapping)):(r.status===`ok`||r.status===`skip`)&&o.push(null)}let s=ht(o,a);s&&(a.mapOver=s.collectionType),i.stepType===`subworkflow`&&i.innerGraph?yt(i,n):gt(i,s,n),r.push(a)}return[{stepResults:r,valid:ft(r),summary:pt(r)},n]}function ft(e){for(let t of e){if(t.errors.length>0)return!1;for(let e of t.connections)if(e.status===`invalid`)return!1}return!0}function pt(e){let t={ok:0,invalid:0,skip:0};for(let n of e)for(let e of n.connections)t[e.status]=(t[e.status]??0)+1;return t}function mt(e,t,n,r,i,a){let o=(a[e]??{})[t];if(o===void 0)return{sourceStep:e,sourceOutput:t,targetStep:n,targetInput:r,status:`skip`,errors:[`Cannot resolve output '${t}' on step ${e}`]};if(i===void 0)return{sourceStep:e,sourceOutput:t,targetStep:n,targetInput:r,status:`skip`,errors:[`Cannot resolve input '${r}' on step ${n}`]};let s=xt(i),c=(i,a)=>{let o=i??null;return{sourceStep:e,sourceOutput:t,targetStep:n,targetInput:r,status:`ok`,mapping:o,mapDepth:o?o.split(`:`).length:0,reduction:a?.reduction??!1,errors:[]}};if(Q(o)){if(Q(s))return c()}else if($(o))return{sourceStep:e,sourceOutput:t,targetStep:n,targetInput:r,status:`skip`,errors:[`Cannot determine output type for '${t}' on step ${e}`]};else{if(i.multiple&&i.type===`data`&&o instanceof Z&&lt(o)){let e=new Z(`list`);return o.canMapOver(e)?c(o.effectiveMapOver(e).collectionType,{reduction:!0}):c(null,{reduction:!0})}if(at(o,s))return c();let e=ct(o,s);if(e!==null)return c(e.collectionType)}return{sourceStep:e,sourceOutput:t,targetStep:n,targetInput:r,status:`invalid`,errors:[`Incompatible types: output is ${St(o)}, input expects ${St(s)}`]}}function ht(e,t){let n=e.filter(e=>e!==null);if(n.length===0)return null;let r=n[0];for(let e=1;e<n.length;e++){let i=n[e];if(!st(r,i))return t.errors.push(`Incompatible map-over types: ${r.collectionType} vs ${i.collectionType}`),r;ut(i)>ut(r)&&(r=i)}return r}function gt(e,t,n){for(let[r,i]of Object.entries(e.outputs))if(i.type===`collection`){let a=_t(e,i,n,t);if(a&&t){let i=`${t.collectionType}:${a}`;n[e.stepId][r]=new Z(i)}else a&&(n[e.stepId][r]=new Z(a))}else t?n[e.stepId][r]=new Z(t.collectionType??`list`):n[e.stepId][r]=X}function _t(e,t,n,r){if(t.collectionType)return t.collectionType;let i=t.collectionTypeSource??t.structuredLike;return i?vt(e,i,n,r):null}function vt(e,t,n,r){let i=e.connections[t]??[];if(i.length===0)return null;let a=i[0],o=(n[a.sourceStep]??{})[a.outputName];if(o===void 0||Q(o)||$(o)||!(o instanceof Z))return null;let s=o.collectionType??``;if(r){let e=`${r.collectionType}:`;s.startsWith(e)&&(s=s.slice(e.length))}return s||null}function yt(e,t){let n=e.innerGraph;if(!n)return;let r={};for(let i of Object.values(e.connections))for(let e of i){let i=e.inputSubworkflowStepId;if(!i)continue;let a=t[e.sourceStep]?.[e.outputName];a!==void 0&&i in n.steps&&(r[i]||(r[i]={}),r[i].output=a)}let[,i]=dt(n,r);t[e.stepId]||(t[e.stepId]={});for(let[n,[r,a]]of Object.entries(e.subworkflowOutputMap)){let o=i[r]?.[a];o!==void 0&&(t[e.stepId][n]=o)}}function bt(e){return e.type===`collection`?e.collectionType?new Z(e.collectionType):nt:X}function xt(e){return e.type===`collection`?e.collectionType?new Z(e.collectionType):nt:X}function St(e){return Q(e)?`dataset`:$(e)?`collection (any type)`:e instanceof Z?`collection<${e.collectionType}>`:`unknown`}function Ct(e,t,n,r){return`${e}|${t}->${n}|${r}`}function wt(e){return e.label??e.stepId}function Tt(e){let t=new Map;for(let n of e.stepResults)t.set(n.stepId,wt(n));let n=new Map;for(let r of e.stepResults){let e=wt(r);for(let i of r.connections){let r=t.get(i.sourceStep)??i.sourceStep,a={sourceStep:r,sourceOutput:i.sourceOutput,targetStep:e,targetInput:i.targetInput,mapDepth:i.mapDepth??0,reduction:i.reduction??!1,mapping:i.mapping??null,status:i.status};n.set(Ct(r,i.sourceOutput,e,i.targetInput),a)}}return n}function Et(e){let t=[];return Dt(e,t,new Set),t}function Dt(e,t,n){let r=e.steps;if(typeof r!=`object`||!r)return;let i=Array.isArray(r)?r:Object.values(r);for(let e of i){if(typeof e!=`object`||!e)continue;let r=e,i=r.tool_id??null,a=r.tool_version??null;if(i){let e=kt(i,a);n.has(e)||(n.add(e),t.push({toolId:i,toolVersion:a}))}let o=r.subworkflow;o&&typeof o==`object`&&Dt(o,t,n);let s=r.run;s&&typeof s==`object`&&!Array.isArray(s)&&Dt(s,t,n)}}async function Ot(e,t,n={}){let r=Et(e),i=new Map,a=Math.max(1,n.concurrency??1),o=0,s=async e=>{try{let r=await t(e.toolId,e.toolVersion);r===null?n.onMiss?.(e,`not_found`):i.set(kt(e.toolId,e.toolVersion),r)}catch(t){n.onMiss?.(e,t)}finally{o+=1,n.onProgress?.(o,r.length)}};if(a===1)for(let e of r)await s(e);else{let e=0,t=[],n=async()=>{for(;e<r.length;)await s(r[e++])};for(let e=0;e<Math.min(a,r.length);e++)t.push(n());await Promise.all(t)}let c=Fe({getToolInfo:(e,t)=>i.get(kt(e,t??null))||(i.get(kt(e,null))??At(i,e))});for(let t of Ne(e))if(t.inlineClass===`GalaxyUserTool`)try{c.parseInlineOnce(t.representation)}catch(e){n.onMiss?.({toolId:String(t.representation.id??`(inline)`),toolVersion:null},e)}return c}function kt(e,t){return`${e}@${t??``}`}function At(e,t){let n=`${t}@`;for(let[t,r]of e)if(t.startsWith(n))return r}var jt=6;function Mt(e){return e instanceof Error?e.message:typeof e==`string`?e:String(e)}function Nt(){let e=H(null),t=H(!1),n=H(null),r=H([]),i=H(null);async function a(a){t.value=!0,n.value=null,r.value=[],i.value=null;try{let t=await fe().loadWorkflowContent(a),n=Se(),o=[],[s]=dt(Re(t,await Ot(t,async(e,t)=>n.getToolInfo(e,t),{concurrency:jt,onMiss:(e,t)=>{o.push({toolId:e.toolId,toolVersion:e.toolVersion,reason:Mt(t)})},onProgress:(e,t)=>{i.value={resolved:e,total:t}}})));e.value=Tt(s),r.value=o}catch(t){n.value=t instanceof Error?t.message:String(t),e.value=null}finally{t.value=!1}}function o(){e.value=null,n.value=null,r.value=[],i.value=null}return{annotations:e,loading:t,error:n,misses:r,progress:i,build:a,clear:o}}var Pt=``;function Ft(e){return typeof e==`object`&&!!e&&`annotations`in e&&typeof e.annotations==`object`}function It(){let e=H(null),t=H(!1),n=H(null);async function r(r){t.value=!0,n.value=null;try{let t=`${Pt}/workflows/${encodeURIComponent(r)}/edge-annotations`,n=await fetch(t,{method:`POST`});if(!n.ok)throw Error(`Edge annotations request failed: ${n.status} ${n.statusText}`);let i=await n.json(),a,o;if(Ft(i)?(a=i.annotations,o=i.tool_specs):a=i,e.value=new Map(Object.entries(a)),o){let e=Se();await Promise.all(Object.values(o).map(async n=>{try{await e.addTool(n.tool_id,n.tool_version,n.parsed,`gxwf-web`,t)}catch(e){console.debug(`[useEdgeAnnotations] tool_specs write-through failed for ${n.tool_id}@${n.tool_version}:`,e)}}))}}catch(t){n.value=t instanceof Error?t.message:String(t),e.value=null}finally{t.value=!1}}function i(){e.value=null,n.value=null}return{annotations:e,loading:t,error:n,build:r,clear:i}}var Lt=``,Rt=`gxwf-ui:annotations-mode`,zt=1500;function Bt(){try{let e=sessionStorage.getItem(Rt);return e===`server`||e===`client`?e:null}catch{return null}}function Vt(e){try{sessionStorage.setItem(Rt,e)}catch{}}function Ht(){return null}async function Ut(e){try{let t=await fetch(`${Lt}/healthz`,{signal:e});if(!t.ok)return!1;let n=await t.json();return Array.isArray(n.features)&&n.features.includes(`edge-annotations`)}catch{return!1}}async function Wt(){let e=Ht();if(e)return e;let t=Bt();if(t)return t;let n=new AbortController,r=setTimeout(()=>n.abort(),zt),i;try{i=await Ut(n.signal)}finally{clearTimeout(r)}let a=i?`server`:`client`;return Vt(a),a}function Gt(){let e=It(),t=Nt(),n=H(null),r=H(!1),i=u(()=>n.value===`server`?e.annotations.value:n.value===`client`?t.annotations.value:null),a=u(()=>n.value===`server`?e.error.value:n.value===`client`?t.error.value:null);async function o(i){r.value=!0;try{if(n.value===null&&(n.value=await Wt()),n.value===`server`){await e.build(i),e.error.value!==null&&(n.value=`client`,Vt(`client`),await t.build(i));return}await t.build(i)}finally{r.value=!1}}function s(){e.clear(),t.clear()}return{annotations:i,loading:r,error:a,build:o,clear:s,mode:n,misses:t.misses,progress:t.progress}}var Kt={nodeLabel:`#1f2937`,inputFill:`#d0bb46`,runnableFill:`#2c3143`,edge:`#6b7280`,arrow:`#6b7280`,mapover:`#5a8`,reduction:`#a55`},qt={nodeLabel:`#e5e7eb`,inputFill:`#d0bb46`,runnableFill:`#4c5574`,edge:`#9ca3af`,arrow:`#9ca3af`,mapover:`#5a8`,reduction:`#a55`};function Jt(e){let t=e===`dark`?qt:Kt;return[{selector:`node`,style:{label:`data(label)`,color:t.nodeLabel,"text-outline-color":e===`dark`?`#1a1f2e`:`#ffffff`,"text-outline-width":2,"font-size":12}},{selector:`edge`,style:{"curve-style":`bezier`,"target-arrow-shape":`vee`,"arrow-scale":1.6,"line-color":t.edge,"target-arrow-color":t.arrow,width:2}},{selector:`.input`,style:{shape:`diamond`,"background-color":t.inputFill}},{selector:`.runnable`,style:{shape:`round-rectangle`,"background-color":t.runnableFill}},{selector:`edge.mapover_1`,style:{width:4,"line-color":t.mapover}},{selector:`edge.mapover_2`,style:{width:6,"line-color":t.mapover}},{selector:`edge.mapover_3`,style:{width:8,"line-color":t.mapover}},{selector:`edge.reduction`,style:{"line-style":`dashed`,"line-color":t.reduction,"target-arrow-shape":`tee`,"target-arrow-color":t.reduction}}]}function Yt(){return typeof document>`u`?`light`:document.documentElement.classList.contains(`dark`)?`dark`:`light`}function Xt(){let e=H(Yt()),t=null;return ae(()=>{typeof MutationObserver>`u`||(t=new MutationObserver(()=>{let t=Yt();t!==e.value&&(e.value=t)}),t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}))}),te(()=>{t?.disconnect(),t=null}),{theme:e}}var Zt={class:`diagram`,"data-description":`workflow diagram`},Qt={class:`diagram-toolbar`},$t=[`innerHTML`],en=`gxwf-ui:diagram-renderer`,tn=`gxwf-ui:diagram-annotate`,nn=j(w({__name:`WorkflowDiagram`,props:{workflowPath:{}},setup(t){let r=t;function i(){try{let e=localStorage.getItem(en);if(e===`cytoscape`||e===`mermaid`)return e}catch{}return`mermaid`}function a(){try{return localStorage.getItem(tn)===`1`}catch{return!1}}let s=H(i()),c=H(a()),u=[{label:`Mermaid`,value:`mermaid`},{label:`Cytoscape`,value:`cytoscape`}],{diagram:d,loading:p,error:h,build:g}=we(),{elements:v,loading:y,error:S,build:ee}=Te(),{annotations:ne,loading:re,error:w,build:T,clear:ie}=Gt(),O=H(!1),k=H(!1),A=H(null),j=H(null),N=H(null),F=null,I=[],{theme:R}=Xt();D([p,y,re],([e,t,n])=>{O.value=e||t||n}),D([h,S,w],([e,t,n])=>{A.value=e??t??n??null});let z=null;async function oe(){return z||=J(()=>import(`./mermaid.core-DZ5cLraE.js`).then(e=>(e.default.initialize({startOnLoad:!1,theme:R.value===`dark`?`dark`:`default`,securityLevel:`strict`}),e.default)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])),z}let B=null;async function V(){return B||=(async()=>{let[t,n,r]=await Promise.all([J(()=>import(`./cytoscape.esm-Cj_wycbY.js`),[]),J(()=>import(`./cytoscape-dagre-CO2HNyOd.js`).then(t=>e(t.default,1)),__vite__mapDeps([25,6])),J(()=>import(`./cytoscape-popper-D30IDL9Y.js`).then(t=>e(t.default,1)),__vite__mapDeps([26,6,27]))]),i=t.default??t,a=n.default??n,o=r.default??r,s=i.use;return s(a),s(o),i})(),B}function U(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function W(e){let t=document.createElement(`div`),n=[];if(e.isNode()){let t=e.data(`step_type`);t&&n.push(`<p><i>Step Type:</i> ${U(String(t))}</p>`);let r=e.data(`tool_id`);r&&n.push(`<p><i>Tool ID:</i> ${U(String(r))}</p>`);let i=e.data(`repo_link`);if(i){let e=U(String(i));n.push(`<p><a href="${e}" target="_blank" rel="noopener">Tool Shed Repository</a></p>`)}let a=e.data(`doc`);a&&n.push(`<p>${U(String(a))}</p>`)}else{let t=e.data(`output`),r=e.data(`input`);t?n.push(`<p>Output <code>${U(String(t))}</code> → input <code>${U(String(r))}</code></p>`):r&&n.push(`<p>Connected to input <code>${U(String(r))}</code></p>`);let i=e.data(`map_depth`);if(i){let t=e.data(`mapping`),r=t?` (${U(String(t))})`:``;n.push(`<p><i>Map depth:</i> ${U(String(i))}${r}</p>`)}e.data(`reduction`)&&n.push(`<p><i>Reduction:</i> list → multi-data</p>`)}return t.innerHTML=n.join(``)||`<p><i>No details</i></p>`,t}function se(){for(let e of I)try{e.destroy()}catch{}I=[]}async function G(e){let t=await J(()=>import(`./tippy.esm-BUtiz0E2.js`),__vite__mapDeps([28,27,6]));await J(()=>Promise.resolve({}),__vite__mapDeps([29]));let n=t.default??t,r=e=>e.popperRef();e.on(`tap`,`node, edge`,e=>{let t=e.target,i=r(t),a=n(document.createElement(`div`),{getReferenceClientRect:i.getBoundingClientRect.bind(i),content:W(t),allowHTML:!0,interactive:!0,placement:`bottom`,trigger:`manual`,appendTo:document.body,onHidden:e=>{e.destroy(),I=I.filter(t=>t!==e)}});se(),I.push(a),a.show()}),e.on(`tap`,t=>{t.target===e&&se()})}async function ce(){if(!c.value){ie();return}return await T(r.workflowPath),ne.value??void 0}async function K(){j.value=null;let e=await ce();if(await g(r.workflowPath,{edgeAnnotations:e}),d.value){k.value=!0;try{let e=await oe(),t=`gxwf-mermaid-${Math.random().toString(36).slice(2)}`,{svg:n}=await e.render(t,d.value);j.value=n}catch(e){A.value=e instanceof Error?e.message:String(e)}finally{k.value=!1}}}async function le(){let e=await ce();await ee(r.workflowPath,{edgeAnnotations:e});let t=v.value;if(!(!t||!N.value)){k.value=!0;try{let e=await V();se(),F&&=(F.destroy(),null);let n=Ee(t);F=e({container:N.value,elements:be(t),style:Jt(R.value),layout:n===`dagre`?{name:`dagre`,rankDir:`LR`,nodeSep:40,rankSep:80}:{name:`preset`}}),await G(F)}catch(e){A.value=e instanceof Error?e.message:String(e)}finally{k.value=!1}}}async function q(){s.value===`mermaid`?await K():await le()}return D(R,e=>{F&&F.style().fromJson(Jt(e)).update(),s.value===`mermaid`&&(z=null,q())}),ae(()=>{q()}),te(()=>{se(),F&&=(F.destroy(),null)}),D(()=>r.workflowPath,()=>{q()}),D(s,e=>{try{localStorage.setItem(en,e)}catch{}q()}),D(c,e=>{try{localStorage.setItem(tn,e?`1`:`0`)}catch{}q()}),(e,t)=>(L(),b(`div`,Zt,[P(`div`,Qt,[n(m(Y),{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,"on-label":`Map/reduce on`,"off-label":`Map/reduce off`,"on-icon":`pi pi-eye`,"off-icon":`pi pi-eye-slash`,size:`small`,"data-description":`annotate connections toggle`},null,8,[`modelValue`]),n(m(Ce),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e,options:u,"option-label":`label`,"option-value":`value`,"allow-empty":!1,size:`small`,"data-description":`renderer toggle`},null,8,[`modelValue`])]),O.value||k.value?(L(),l(m(de),{key:0,style:{width:`2rem`,height:`2rem`}})):x(``,!0),A.value?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(A.value),1)]),_:1})):x(``,!0),C(P(`div`,{class:`diagram-svg`,"data-description":`diagram svg`,innerHTML:j.value},null,8,$t),[[_,s.value===`mermaid`&&j.value]]),C(P(`div`,{ref_key:`cytoCanvas`,ref:N,class:`diagram-cytoscape`,"data-description":`diagram cytoscape`},null,512),[[_,s.value===`cytoscape`]])]))}}),[[`__scopeId`,`data-v-1ec72b92`]]),rn={class:`tool-strip`,role:`toolbar`,"aria-label":`Workflow operations`},an=j(w({__name:`ToolStrip`,props:{activeOp:{}},emits:[`open-op`],setup(e,{emit:t}){let r=t,i=[{value:`clean`,label:`Clean`,icon:`pi pi-sparkles`},{value:`lint`,label:`Lint`,icon:`pi pi-search`},{value:`export`,label:`Export`,icon:`pi pi-download`}],a=[{value:`validate`,label:`Validate`,icon:`pi pi-check-circle`},{value:`roundtrip`,label:`Roundtrip`,icon:`pi pi-refresh`},{value:`convert`,label:`Convert`,icon:`pi pi-arrow-right-arrow-left`}],o=H(null),s=a.map(e=>({label:e.label,icon:e.icon,command:()=>r(`open-op`,e.value)}));function c(e){o.value?.toggle(e)}return(t,r)=>{let a=T(`tooltip`);return L(),b(`div`,rn,[(L(),b(v,null,O(i,r=>n(m(A),{key:r.value,label:r.label,icon:r.icon,severity:e.activeOp===r.value?`primary`:`secondary`,text:e.activeOp!==r.value,size:`small`,"data-description":`tool strip ${r.value}`,onClick:e=>t.$emit(`open-op`,r.value)},null,8,[`label`,`icon`,`severity`,`text`,`data-description`,`onClick`])),64)),C(n(m(A),{type:`button`,icon:`pi pi-ellipsis-h`,text:``,rounded:``,size:`small`,"aria-label":`Advanced operations`,"data-description":`advanced operations menu`,class:`advanced-trigger`,onClick:c},null,512),[[a,`Advanced operations`,void 0,{bottom:!0}]]),n(m(_e),{ref_key:`advancedMenuRef`,ref:o,model:m(s),popup:!0,"data-description":`advanced operations menu popup`},null,8,[`model`])])}}}),[[`__scopeId`,`data-v-0a164610`]]),on=[`data-description`,`aria-label`],sn={class:`drawer-header`},cn={class:`drawer-body`},ln=j(w({__name:`ResultDrawer`,props:{op:{}},emits:[`close`],setup(e){let t=e,r={validate:{label:`Validate`,icon:`pi pi-check-circle`},lint:{label:`Lint`,icon:`pi pi-search`},clean:{label:`Clean`,icon:`pi pi-sparkles`},roundtrip:{label:`Roundtrip`,icon:`pi pi-refresh`},export:{label:`Export`,icon:`pi pi-download`},convert:{label:`Convert`,icon:`pi pi-arrow-right-arrow-left`}},a=u(()=>r[t.op].label),s=u(()=>r[t.op].icon);return(t,r)=>{let c=T(`tooltip`);return L(),b(`section`,{class:`result-drawer`,"data-description":`${e.op} drawer`,role:`region`,"aria-label":a.value},[P(`header`,sn,[P(`h2`,null,[P(`i`,{class:i(s.value)},null,2),f(` `+o(a.value),1)]),C(n(m(A),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,"aria-label":`Close`,"data-description":`close drawer`,onClick:r[0]||=e=>t.$emit(`close`)},null,512),[[c,`Close`,void 0,{left:!0}]])]),P(`div`,cn,[z(t.$slots,`default`,{},void 0,!0)])],8,on)}}}),[[`__scopeId`,`data-v-4eec7a48`]]),un=a.extend({name:`panel`,style:`
3
+ .p-panel {
4
+ display: block;
5
+ border: 1px solid dt('panel.border.color');
6
+ border-radius: dt('panel.border.radius');
7
+ background: dt('panel.background');
8
+ color: dt('panel.color');
9
+ }
10
+
11
+ .p-panel-header {
12
+ display: flex;
13
+ justify-content: space-between;
14
+ align-items: center;
15
+ padding: dt('panel.header.padding');
16
+ background: dt('panel.header.background');
17
+ color: dt('panel.header.color');
18
+ border-style: solid;
19
+ border-width: dt('panel.header.border.width');
20
+ border-color: dt('panel.header.border.color');
21
+ border-radius: dt('panel.header.border.radius');
22
+ }
23
+
24
+ .p-panel-toggleable .p-panel-header {
25
+ padding: dt('panel.toggleable.header.padding');
26
+ }
27
+
28
+ .p-panel-title {
29
+ line-height: 1;
30
+ font-weight: dt('panel.title.font.weight');
31
+ }
32
+
33
+ .p-panel-content-container {
34
+ display: grid;
35
+ grid-template-rows: 1fr;
36
+ }
37
+
38
+ .p-panel-content-wrapper {
39
+ min-height: 0;
40
+ }
41
+
42
+ .p-panel-content {
43
+ padding: dt('panel.content.padding');
44
+ }
45
+
46
+ .p-panel-footer {
47
+ padding: dt('panel.footer.padding');
48
+ }
49
+ `,classes:{root:function(e){var t=e.props;return[`p-panel p-component`,{"p-panel-toggleable":t.toggleable}]},header:`p-panel-header`,title:`p-panel-title`,headerActions:`p-panel-header-actions`,pcToggleButton:`p-panel-toggle-button`,contentContainer:`p-panel-content-container`,contentWrapper:`p-panel-content-wrapper`,content:`p-panel-content`,footer:`p-panel-footer`}}),dn={name:`Panel`,extends:{name:`BasePanel`,extends:B,props:{header:String,toggleable:Boolean,collapsed:Boolean,toggleButtonProps:{type:Object,default:function(){return{severity:`secondary`,text:!0,rounded:!0}}}},style:un,provide:function(){return{$pcPanel:this,$parentInstance:this}}},inheritAttrs:!1,emits:[`update:collapsed`,`toggle`],data:function(){return{d_collapsed:this.collapsed}},watch:{collapsed:function(e){this.d_collapsed=e}},methods:{toggle:function(e){this.d_collapsed=!this.d_collapsed,this.$emit(`update:collapsed`,this.d_collapsed),this.$emit(`toggle`,{originalEvent:e,value:this.d_collapsed})},onKeyDown:function(e){(e.code===`Enter`||e.code===`NumpadEnter`||e.code===`Space`)&&(this.toggle(e),e.preventDefault())}},computed:{buttonAriaLabel:function(){return this.toggleButtonProps&&this.toggleButtonProps.ariaLabel?this.toggleButtonProps.ariaLabel:this.header},dataP:function(){return h({toggleable:this.toggleable})}},components:{PlusIcon:ue,MinusIcon:ie,Button:A},directives:{ripple:S}},fn=[`data-p`],pn=[`data-p`],mn=[`id`],hn=[`id`,`aria-labelledby`];function gn(e,t,r,a,s,c){var u=re(`Button`);return L(),b(`div`,I({class:e.cx(`root`),"data-p":c.dataP},e.ptmi(`root`)),[P(`div`,I({class:e.cx(`header`),"data-p":c.dataP},e.ptm(`header`)),[z(e.$slots,`header`,{id:e.$id+`_header`,class:i(e.cx(`title`)),collapsed:s.d_collapsed},function(){return[e.header?(L(),b(`span`,I({key:0,id:e.$id+`_header`,class:e.cx(`title`)},e.ptm(`title`)),o(e.header),17,mn)):x(``,!0)]}),P(`div`,I({class:e.cx(`headerActions`)},e.ptm(`headerActions`)),[z(e.$slots,`icons`),e.toggleable?z(e.$slots,`togglebutton`,{key:0,collapsed:s.d_collapsed,toggleCallback:function(e){return c.toggle(e)},keydownCallback:function(e){return c.onKeyDown(e)}},function(){return[n(u,I({id:e.$id+`_header`,class:e.cx(`pcToggleButton`),"aria-label":c.buttonAriaLabel,"aria-controls":e.$id+`_content`,"aria-expanded":!s.d_collapsed,unstyled:e.unstyled,onClick:t[0]||=function(e){return c.toggle(e)},onKeydown:t[1]||=function(e){return c.onKeyDown(e)}},e.toggleButtonProps,{pt:e.ptm(`pcToggleButton`)}),{icon:E(function(t){return[z(e.$slots,e.$slots.toggleicon?`toggleicon`:`togglericon`,{collapsed:s.d_collapsed},function(){return[(L(),l(N(s.d_collapsed?`PlusIcon`:`MinusIcon`),I({class:t.class},e.ptm(`pcToggleButton`).icon),null,16,[`class`]))]})]}),_:3},16,[`id`,`class`,`aria-label`,`aria-controls`,`aria-expanded`,`unstyled`,`pt`])]}):x(``,!0)],16)],16,pn),n(p,I({name:`p-collapsible`},e.ptm(`transition`)),{default:E(function(){return[C(P(`div`,I({id:e.$id+`_content`,class:e.cx(`contentContainer`),role:`region`,"aria-labelledby":e.$id+`_header`},e.ptm(`contentContainer`)),[P(`div`,I({class:e.cx(`contentWrapper`)},e.ptm(`contentWrapper`)),[P(`div`,I({class:e.cx(`content`)},e.ptm(`content`)),[z(e.$slots,`default`)],16),e.$slots.footer?(L(),b(`div`,I({key:0,class:e.cx(`footer`)},e.ptm(`footer`)),[z(e.$slots,`footer`)],16)):x(``,!0)],16)],16,hn),[[_,!s.d_collapsed]])]}),_:3},16)],16,fn)}dn.render=gn;var _n=a.extend({name:`tab`,classes:{root:function(e){var t=e.instance,n=e.props;return[`p-tab`,{"p-tab-active":t.active,"p-disabled":n.disabled}]}}}),vn={name:`Tab`,extends:{name:`BaseTab`,extends:B,props:{value:{type:[String,Number],default:void 0},disabled:{type:Boolean,default:!1},as:{type:[String,Object],default:`BUTTON`},asChild:{type:Boolean,default:!1}},style:_n,provide:function(){return{$pcTab:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`,`$pcTabList`],methods:{onFocus:function(){this.$pcTabs.selectOnFocus&&this.changeActiveValue()},onClick:function(){this.changeActiveValue()},onKeydown:function(e){switch(e.code){case`ArrowRight`:this.onArrowRightKey(e);break;case`ArrowLeft`:this.onArrowLeftKey(e);break;case`Home`:this.onHomeKey(e);break;case`End`:this.onEndKey(e);break;case`PageDown`:this.onPageDownKey(e);break;case`PageUp`:this.onPageUpKey(e);break;case`Enter`:case`NumpadEnter`:case`Space`:this.onEnterKey(e);break}},onArrowRightKey:function(e){var t=this.findNextTab(e.currentTarget);t?this.changeFocusedTab(e,t):this.onHomeKey(e),e.preventDefault()},onArrowLeftKey:function(e){var t=this.findPrevTab(e.currentTarget);t?this.changeFocusedTab(e,t):this.onEndKey(e),e.preventDefault()},onHomeKey:function(e){var t=this.findFirstTab();this.changeFocusedTab(e,t),e.preventDefault()},onEndKey:function(e){var t=this.findLastTab();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey:function(e){this.scrollInView(this.findLastTab()),e.preventDefault()},onPageUpKey:function(e){this.scrollInView(this.findFirstTab()),e.preventDefault()},onEnterKey:function(e){this.changeActiveValue()},findNextTab:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1]?e:e.nextElementSibling;return t?c(t,`data-p-disabled`)||c(t,`data-pc-section`)===`activebar`?this.findNextTab(t):V(t,`[data-pc-name="tab"]`):null},findPrevTab:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1]?e:e.previousElementSibling;return t?c(t,`data-p-disabled`)||c(t,`data-pc-section`)===`activebar`?this.findPrevTab(t):V(t,`[data-pc-name="tab"]`):null},findFirstTab:function(){return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild,!0)},findLastTab:function(){return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild,!0)},changeActiveValue:function(){this.$pcTabs.updateValue(this.value)},changeFocusedTab:function(e,t){k(t),this.scrollInView(t)},scrollInView:function(e){var t;e==null||(t=e.scrollIntoView)==null||t.call(e,{block:`nearest`})}},computed:{active:function(){return d(this.$pcTabs?.d_value,this.value)},id:function(){return`${this.$pcTabs?.$id}_tab_${this.value}`},ariaControls:function(){return`${this.$pcTabs?.$id}_tabpanel_${this.value}`},attrs:function(){return I(this.asAttrs,this.a11yAttrs,this.ptmi(`root`,this.ptParams))},asAttrs:function(){return this.as===`BUTTON`?{type:`button`,disabled:this.disabled}:void 0},a11yAttrs:function(){return{id:this.id,tabindex:this.active?this.$pcTabs.tabindex:-1,role:`tab`,"aria-selected":this.active,"aria-controls":this.ariaControls,"data-pc-name":`tab`,"data-p-disabled":this.disabled,"data-p-active":this.active,onFocus:this.onFocus,onKeydown:this.onKeydown}},ptParams:function(){return{context:{active:this.active}}},dataP:function(){return h({active:this.active})}},directives:{ripple:S}};function yn(e,t,n,r,a,o){var s=T(`ripple`);return e.asChild?z(e.$slots,`default`,{key:1,dataP:o.dataP,class:i(e.cx(`root`)),active:o.active,a11yAttrs:o.a11yAttrs,onClick:o.onClick}):C((L(),l(N(e.as),I({key:0,class:e.cx(`root`),"data-p":o.dataP,onClick:o.onClick},o.attrs),{default:E(function(){return[z(e.$slots,`default`)]}),_:3},16,[`class`,`data-p`,`onClick`])),[[s]])}vn.render=yn;var bn={name:`ChevronLeftIcon`,extends:ne};function xn(e){return Tn(e)||wn(e)||Cn(e)||Sn()}function Sn(){throw TypeError(`Invalid attempt to spread non-iterable instance.
50
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cn(e,t){if(e){if(typeof e==`string`)return En(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?En(e,t):void 0}}function wn(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Tn(e){if(Array.isArray(e))return En(e)}function En(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Dn(e,t,n,r,i,a){return L(),b(`svg`,I({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),xn(t[0]||=[P(`path`,{d:`M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z`,fill:`currentColor`},null,-1)]),16)}bn.render=Dn;var On={name:`TabList`,extends:{name:`BaseTabList`,extends:B,props:{},style:a.extend({name:`tablist`,classes:{root:`p-tablist`,content:`p-tablist-content p-tablist-viewport`,tabList:`p-tablist-tab-list`,activeBar:`p-tablist-active-bar`,prevButton:`p-tablist-prev-button p-tablist-nav-button`,nextButton:`p-tablist-next-button p-tablist-nav-button`}}),provide:function(){return{$pcTabList:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`],data:function(){return{isPrevButtonEnabled:!1,isNextButtonEnabled:!0}},resizeObserver:void 0,watch:{showNavigators:function(e){e?this.bindResizeObserver():this.unbindResizeObserver()},activeValue:{flush:`post`,handler:function(){this.updateInkBar()}}},mounted:function(){var e=this;setTimeout(function(){e.updateInkBar()},150),this.showNavigators&&(this.updateButtonState(),this.bindResizeObserver())},updated:function(){this.showNavigators&&this.updateButtonState()},beforeUnmount:function(){this.unbindResizeObserver()},methods:{onScroll:function(e){this.showNavigators&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick:function(){var e=this.$refs.content,t=this.getVisibleButtonWidths(),n=y(e)-t,r=Math.abs(e.scrollLeft)-n*.8,i=Math.max(r,0);e.scrollLeft=R(e)?-1*i:i},onNextButtonClick:function(){var e=this.$refs.content,t=this.getVisibleButtonWidths(),n=y(e)-t,r=Math.abs(e.scrollLeft)+n*.8,i=e.scrollWidth-n,a=Math.min(r,i);e.scrollLeft=R(e)?-1*a:a},bindResizeObserver:function(){var e=this;this.resizeObserver=new ResizeObserver(function(){return e.updateButtonState()}),this.resizeObserver.observe(this.$refs.list)},unbindResizeObserver:function(){var e;(e=this.resizeObserver)==null||e.unobserve(this.$refs.list),this.resizeObserver=void 0},updateInkBar:function(){var e=this.$refs,t=e.content,n=e.inkbar,r=e.tabs;if(n){var i=V(t,`[data-pc-name="tab"][data-p-active="true"]`);this.$pcTabs.isVertical()?(n.style.height=s(i)+`px`,n.style.top=g(i).top-g(r).top+`px`):(n.style.width=U(i)+`px`,n.style.left=g(i).left-g(r).left+`px`)}},updateButtonState:function(){var e=this.$refs,n=e.list,r=e.content,i=r.scrollTop,a=r.scrollWidth,o=r.scrollHeight,s=r.offsetWidth,c=r.offsetHeight,l=Math.abs(r.scrollLeft),u=[y(r),t(r)],d=u[0],f=u[1];this.$pcTabs.isVertical()?(this.isPrevButtonEnabled=i!==0,this.isNextButtonEnabled=n.offsetHeight>=c&&parseInt(i)!==o-f):(this.isPrevButtonEnabled=l!==0,this.isNextButtonEnabled=n.offsetWidth>=s&&parseInt(l)!==a-d)},getVisibleButtonWidths:function(){var e=this.$refs,t=e.prevButton,n=e.nextButton,r=0;return this.showNavigators&&(r=(t?.offsetWidth||0)+(n?.offsetWidth||0)),r}},computed:{templates:function(){return this.$pcTabs.$slots},activeValue:function(){return this.$pcTabs.d_value},showNavigators:function(){return this.$pcTabs.showNavigators},prevButtonAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0},dataP:function(){return h({scrollable:this.$pcTabs.scrollable})}},components:{ChevronLeftIcon:bn,ChevronRightIcon:ee},directives:{ripple:S}},kn=[`data-p`],An=[`aria-label`,`tabindex`],jn=[`data-p`],Mn=[`aria-orientation`],Nn=[`aria-label`,`tabindex`];function Pn(e,t,n,r,i,a){var o=T(`ripple`);return L(),b(`div`,I({ref:`list`,class:e.cx(`root`),"data-p":a.dataP},e.ptmi(`root`)),[a.showNavigators&&i.isPrevButtonEnabled?C((L(),b(`button`,I({key:0,ref:`prevButton`,type:`button`,class:e.cx(`prevButton`),"aria-label":a.prevButtonAriaLabel,tabindex:a.$pcTabs.tabindex,onClick:t[0]||=function(){return a.onPrevButtonClick&&a.onPrevButtonClick.apply(a,arguments)}},e.ptm(`prevButton`),{"data-pc-group-section":`navigator`}),[(L(),l(N(a.templates.previcon||`ChevronLeftIcon`),I({"aria-hidden":`true`},e.ptm(`prevIcon`)),null,16))],16,An)),[[o]]):x(``,!0),P(`div`,I({ref:`content`,class:e.cx(`content`),onScroll:t[1]||=function(){return a.onScroll&&a.onScroll.apply(a,arguments)},"data-p":a.dataP},e.ptm(`content`)),[P(`div`,I({ref:`tabs`,class:e.cx(`tabList`),role:`tablist`,"aria-orientation":a.$pcTabs.orientation||`horizontal`},e.ptm(`tabList`)),[z(e.$slots,`default`),P(`span`,I({ref:`inkbar`,class:e.cx(`activeBar`),role:`presentation`,"aria-hidden":`true`},e.ptm(`activeBar`)),null,16)],16,Mn)],16,jn),a.showNavigators&&i.isNextButtonEnabled?C((L(),b(`button`,I({key:1,ref:`nextButton`,type:`button`,class:e.cx(`nextButton`),"aria-label":a.nextButtonAriaLabel,tabindex:a.$pcTabs.tabindex,onClick:t[2]||=function(){return a.onNextButtonClick&&a.onNextButtonClick.apply(a,arguments)}},e.ptm(`nextButton`),{"data-pc-group-section":`navigator`}),[(L(),l(N(a.templates.nexticon||`ChevronRightIcon`),I({"aria-hidden":`true`},e.ptm(`nextIcon`)),null,16))],16,Nn)),[[o]]):x(``,!0)],16,kn)}On.render=Pn;var Fn=a.extend({name:`tabpanel`,classes:{root:function(e){var t=e.instance;return[`p-tabpanel`,{"p-tabpanel-active":t.active}]}}}),In={name:`TabPanel`,extends:{name:`BaseTabPanel`,extends:B,props:{value:{type:[String,Number],default:void 0},as:{type:[String,Object],default:`DIV`},asChild:{type:Boolean,default:!1},header:null,headerStyle:null,headerClass:null,headerProps:null,headerActionProps:null,contentStyle:null,contentClass:null,contentProps:null,disabled:Boolean},style:Fn,provide:function(){return{$pcTabPanel:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`],computed:{active:function(){return d(this.$pcTabs?.d_value,this.value)},id:function(){return`${this.$pcTabs?.$id}_tabpanel_${this.value}`},ariaLabelledby:function(){return`${this.$pcTabs?.$id}_tab_${this.value}`},attrs:function(){return I(this.a11yAttrs,this.ptmi(`root`,this.ptParams))},a11yAttrs:function(){return{id:this.id,tabindex:this.$pcTabs?.tabindex,role:`tabpanel`,"aria-labelledby":this.ariaLabelledby,"data-pc-name":`tabpanel`,"data-p-active":this.active}},ptParams:function(){return{context:{active:this.active}}}}};function Ln(e,t,n,r,a,o){var s,c;return o.$pcTabs?(L(),b(v,{key:1},[e.asChild?z(e.$slots,`default`,{key:1,class:i(e.cx(`root`)),active:o.active,a11yAttrs:o.a11yAttrs}):(L(),b(v,{key:0},[!((s=o.$pcTabs)!=null&&s.lazy)||o.active?C((L(),l(N(e.as),I({key:0,class:e.cx(`root`)},o.attrs),{default:E(function(){return[z(e.$slots,`default`)]}),_:3},16,[`class`])),[[_,(c=o.$pcTabs)!=null&&c.lazy?!0:o.active]]):x(``,!0)],64))],64)):z(e.$slots,`default`,{key:0})}In.render=Ln;var Rn={name:`TabPanels`,extends:{name:`BaseTabPanels`,extends:B,props:{},style:a.extend({name:`tabpanels`,classes:{root:`p-tabpanels`}}),provide:function(){return{$pcTabPanels:this,$parentInstance:this}}},inheritAttrs:!1};function zn(e,t,n,r,i,a){return L(),b(`div`,I({class:e.cx(`root`),role:`presentation`},e.ptmi(`root`)),[z(e.$slots,`default`)],16)}Rn.render=zn;var Bn=a.extend({name:`tabs`,style:`
51
+ .p-tabs {
52
+ display: flex;
53
+ flex-direction: column;
54
+ }
55
+
56
+ .p-tablist {
57
+ display: flex;
58
+ position: relative;
59
+ overflow: hidden;
60
+ background: dt('tabs.tablist.background');
61
+ }
62
+
63
+ .p-tablist-viewport {
64
+ overflow-x: auto;
65
+ overflow-y: hidden;
66
+ scroll-behavior: smooth;
67
+ scrollbar-width: none;
68
+ overscroll-behavior: contain auto;
69
+ }
70
+
71
+ .p-tablist-viewport::-webkit-scrollbar {
72
+ display: none;
73
+ }
74
+
75
+ .p-tablist-tab-list {
76
+ position: relative;
77
+ display: flex;
78
+ border-style: solid;
79
+ border-color: dt('tabs.tablist.border.color');
80
+ border-width: dt('tabs.tablist.border.width');
81
+ }
82
+
83
+ .p-tablist-content {
84
+ flex-grow: 1;
85
+ }
86
+
87
+ .p-tablist-nav-button {
88
+ all: unset;
89
+ position: absolute !important;
90
+ flex-shrink: 0;
91
+ inset-block-start: 0;
92
+ z-index: 2;
93
+ height: 100%;
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ background: dt('tabs.nav.button.background');
98
+ color: dt('tabs.nav.button.color');
99
+ width: dt('tabs.nav.button.width');
100
+ transition:
101
+ color dt('tabs.transition.duration'),
102
+ outline-color dt('tabs.transition.duration'),
103
+ box-shadow dt('tabs.transition.duration');
104
+ box-shadow: dt('tabs.nav.button.shadow');
105
+ outline-color: transparent;
106
+ cursor: pointer;
107
+ }
108
+
109
+ .p-tablist-nav-button:focus-visible {
110
+ z-index: 1;
111
+ box-shadow: dt('tabs.nav.button.focus.ring.shadow');
112
+ outline: dt('tabs.nav.button.focus.ring.width') dt('tabs.nav.button.focus.ring.style') dt('tabs.nav.button.focus.ring.color');
113
+ outline-offset: dt('tabs.nav.button.focus.ring.offset');
114
+ }
115
+
116
+ .p-tablist-nav-button:hover {
117
+ color: dt('tabs.nav.button.hover.color');
118
+ }
119
+
120
+ .p-tablist-prev-button {
121
+ inset-inline-start: 0;
122
+ }
123
+
124
+ .p-tablist-next-button {
125
+ inset-inline-end: 0;
126
+ }
127
+
128
+ .p-tablist-prev-button:dir(rtl),
129
+ .p-tablist-next-button:dir(rtl) {
130
+ transform: rotate(180deg);
131
+ }
132
+
133
+ .p-tab {
134
+ flex-shrink: 0;
135
+ cursor: pointer;
136
+ user-select: none;
137
+ position: relative;
138
+ border-style: solid;
139
+ white-space: nowrap;
140
+ gap: dt('tabs.tab.gap');
141
+ background: dt('tabs.tab.background');
142
+ border-width: dt('tabs.tab.border.width');
143
+ border-color: dt('tabs.tab.border.color');
144
+ color: dt('tabs.tab.color');
145
+ padding: dt('tabs.tab.padding');
146
+ font-weight: dt('tabs.tab.font.weight');
147
+ transition:
148
+ background dt('tabs.transition.duration'),
149
+ border-color dt('tabs.transition.duration'),
150
+ color dt('tabs.transition.duration'),
151
+ outline-color dt('tabs.transition.duration'),
152
+ box-shadow dt('tabs.transition.duration');
153
+ margin: dt('tabs.tab.margin');
154
+ outline-color: transparent;
155
+ }
156
+
157
+ .p-tab:not(.p-disabled):focus-visible {
158
+ z-index: 1;
159
+ box-shadow: dt('tabs.tab.focus.ring.shadow');
160
+ outline: dt('tabs.tab.focus.ring.width') dt('tabs.tab.focus.ring.style') dt('tabs.tab.focus.ring.color');
161
+ outline-offset: dt('tabs.tab.focus.ring.offset');
162
+ }
163
+
164
+ .p-tab:not(.p-tab-active):not(.p-disabled):hover {
165
+ background: dt('tabs.tab.hover.background');
166
+ border-color: dt('tabs.tab.hover.border.color');
167
+ color: dt('tabs.tab.hover.color');
168
+ }
169
+
170
+ .p-tab-active {
171
+ background: dt('tabs.tab.active.background');
172
+ border-color: dt('tabs.tab.active.border.color');
173
+ color: dt('tabs.tab.active.color');
174
+ }
175
+
176
+ .p-tabpanels {
177
+ background: dt('tabs.tabpanel.background');
178
+ color: dt('tabs.tabpanel.color');
179
+ padding: dt('tabs.tabpanel.padding');
180
+ outline: 0 none;
181
+ }
182
+
183
+ .p-tabpanel:focus-visible {
184
+ box-shadow: dt('tabs.tabpanel.focus.ring.shadow');
185
+ outline: dt('tabs.tabpanel.focus.ring.width') dt('tabs.tabpanel.focus.ring.style') dt('tabs.tabpanel.focus.ring.color');
186
+ outline-offset: dt('tabs.tabpanel.focus.ring.offset');
187
+ }
188
+
189
+ .p-tablist-active-bar {
190
+ z-index: 1;
191
+ display: block;
192
+ position: absolute;
193
+ inset-block-end: dt('tabs.active.bar.bottom');
194
+ height: dt('tabs.active.bar.height');
195
+ background: dt('tabs.active.bar.background');
196
+ transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);
197
+ }
198
+ `,classes:{root:function(e){var t=e.props;return[`p-tabs p-component`,{"p-tabs-scrollable":t.scrollable}]}}}),Vn={name:`Tabs`,extends:{name:`BaseTabs`,extends:B,props:{value:{type:[String,Number],default:void 0},lazy:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},showNavigators:{type:Boolean,default:!0},tabindex:{type:Number,default:0},selectOnFocus:{type:Boolean,default:!1}},style:Bn,provide:function(){return{$pcTabs:this,$parentInstance:this}}},inheritAttrs:!1,emits:[`update:value`],data:function(){return{d_value:this.value}},watch:{value:function(e){this.d_value=e}},methods:{updateValue:function(e){this.d_value!==e&&(this.d_value=e,this.$emit(`update:value`,e))},isVertical:function(){return this.orientation===`vertical`}}};function Hn(e,t,n,r,i,a){return L(),b(`div`,I({class:e.cx(`root`)},e.ptmi(`root`)),[z(e.$slots,`default`)],16)}Vn.render=Hn;function Un(e){let t=e.match(/\/repos\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$/);if(!t)return null;let[,n,r,i,a]=t;return{owner:n,repo:r,toolName:i,version:a}}function Wn(e){if(!e)return`—`;let t=Un(e);return t?`${t.toolName}@${t.version} (${t.owner}/${t.repo})`:e}var Gn=[`title`],Kn=j(w({__name:`ToolId`,props:{toolId:{}},setup(e){let t=e,n=u(()=>Wn(t.toolId));return(t,r)=>(L(),b(`span`,{title:e.toolId??void 0,class:`tool-id`},o(n.value),9,Gn))}}),[[`__scopeId`,`data-v-43f5196c`]]),qn={class:`operation-report`},Jn={class:`summary-row`},Yn={key:0,class:`skip-reason`},Xn={key:1,class:`no-changes`},Zn={key:2,class:`key-list`},Qn={class:`content-pre`},$n={class:`content-pre`},er=j(w({__name:`CleanReport`,props:{report:{}},setup(e){return(t,r)=>(L(),b(`div`,qn,[P(`div`,Jn,[n(m(q),{value:`${e.report.total_removed} key${e.report.total_removed===1?``:`s`} removed`,severity:e.report.total_removed>0?`warn`:`success`},null,8,[`value`,`severity`]),n(m(q),{value:`${e.report.steps_with_removals} step${e.report.steps_with_removals===1?``:`s`} affected`,severity:`secondary`},null,8,[`value`])]),n(m(W),{value:e.report.results,size:`small`},{default:E(()=>[n(m(K),{field:`step`,header:`Step`}),n(m(K),{header:`Tool`},{body:E(({data:e})=>[n(Kn,{"tool-id":e.tool_id},null,8,[`tool-id`])]),_:1}),n(m(K),{header:`Removed Keys`},{body:E(({data:e})=>[e.skipped?(L(),b(`span`,Yn,o(e.skip_reason||`skipped`),1)):e.removed_keys.length===0?(L(),b(`span`,Xn,`—`)):(L(),b(`ul`,Zn,[(L(!0),b(v,null,O(e.removed_keys,(e,t)=>(L(),b(`li`,{key:t},[P(`code`,null,o(e),1)]))),128))]))]),_:1})]),_:1},8,[`value`]),e.report.before_content!=null||e.report.after_content!=null?(L(),l(m(dn),{key:0,header:`Workflow content`,toggleable:!0,collapsed:!0},{default:E(()=>[n(m(Vn),{value:`before`},{default:E(()=>[n(m(On),null,{default:E(()=>[n(m(vn),{value:`before`},{default:E(()=>[...r[0]||=[f(`Before`,-1)]]),_:1}),n(m(vn),{value:`after`},{default:E(()=>[...r[1]||=[f(`After`,-1)]]),_:1})]),_:1}),n(m(Rn),null,{default:E(()=>[n(m(In),{value:`before`},{default:E(()=>[P(`pre`,Qn,o(e.report.before_content??`(none)`),1)]),_:1}),n(m(In),{value:`after`},{default:E(()=>[P(`pre`,$n,o(e.report.after_content??`(none)`),1)]),_:1})]),_:1})]),_:1})]),_:1})):x(``,!0)]))}}),[[`__scopeId`,`data-v-901110c0`]]),tr={class:`operation-report`},nr={class:`error-list`},rr={class:`summary-row`},ir={key:0,class:`error-list`},ar=j(w({__name:`ValidationReport`,props:{report:{}},setup(e){let t=e,r=u(()=>t.report.structure_errors??[]),i=u(()=>t.report.encoding_errors??[]);function a(e){return e===`ok`?`success`:e===`fail`?`danger`:`secondary`}return(t,s)=>(L(),b(`div`,tr,[e.report.skipped_reason?(L(),l(m(M),{key:0,severity:`warn`,closable:!1},{default:E(()=>[f(` Skipped: `+o(e.report.skipped_reason),1)]),_:1})):x(``,!0),r.value.length||i.value.length?(L(),l(m(M),{key:1,severity:`error`,closable:!1},{default:E(()=>[P(`ul`,nr,[(L(!0),b(v,null,O(r.value,(e,t)=>(L(),b(`li`,{key:`s`+t},o(e),1))),128)),(L(!0),b(v,null,O(i.value,(e,t)=>(L(),b(`li`,{key:`e`+t},o(e),1))),128))])]),_:1})):x(``,!0),e.report.clean_report==null?x(``,!0):(L(),l(m(dn),{key:2,header:`Pre-validation clean`,toggleable:!0,collapsed:!0},{default:E(()=>[n(er,{report:e.report.clean_report},null,8,[`report`])]),_:1})),P(`div`,rr,[(L(!0),b(v,null,O(e.report.summary,(e,t)=>(L(),l(m(q),{key:t,value:`${t}: ${e}`,severity:t===`ok`?`success`:t===`fail`?`danger`:`secondary`},null,8,[`value`,`severity`]))),128))]),n(m(W),{value:e.report.results,size:`small`,class:`results-table`},{default:E(()=>[n(m(K),{field:`step`,header:`Step`}),n(m(K),{header:`Tool`},{body:E(({data:e})=>[n(Kn,{"tool-id":e.tool_id},null,8,[`tool-id`])]),_:1}),n(m(K),{header:`Status`},{body:E(({data:e})=>[n(m(q),{value:e.status,severity:a(e.status)},null,8,[`value`,`severity`])]),_:1}),n(m(K),{header:`Errors`},{body:E(({data:e})=>[e.errors.length?(L(),b(`ul`,ir,[(L(!0),b(v,null,O(e.errors,(e,t)=>(L(),b(`li`,{key:t},o(e),1))),128))])):x(``,!0)]),_:1})]),_:1},8,[`value`])]))}}),[[`__scopeId`,`data-v-c952e1d0`]]),or={class:`operation-report`},sr={class:`error-list`},cr={class:`summary-row`},lr={class:`message-list`},ur={class:`message-list`},dr={key:0,class:`error-list`},fr=j(w({__name:`LintReport`,props:{report:{}},setup(e){let t=e,r=u(()=>t.report.structure_errors??[]),i=u(()=>t.report.encoding_errors??[]),a=u(()=>t.report.lint_error_messages??[]),s=u(()=>t.report.lint_warning_messages??[]);function c(e){return e===`ok`?`success`:e===`fail`?`danger`:`secondary`}return(t,u)=>(L(),b(`div`,or,[r.value.length||i.value.length?(L(),l(m(M),{key:0,severity:`error`,closable:!1},{default:E(()=>[P(`ul`,sr,[(L(!0),b(v,null,O(r.value,(e,t)=>(L(),b(`li`,{key:`s`+t},o(e),1))),128)),(L(!0),b(v,null,O(i.value,(e,t)=>(L(),b(`li`,{key:`e`+t},o(e),1))),128))])]),_:1})):x(``,!0),P(`div`,cr,[n(m(q),{value:`${e.report.lint_errors} error${e.report.lint_errors===1?``:`s`}`,severity:e.report.lint_errors>0?`danger`:`success`},null,8,[`value`,`severity`]),n(m(q),{value:`${e.report.lint_warnings} warning${e.report.lint_warnings===1?``:`s`}`,severity:e.report.lint_warnings>0?`warn`:`secondary`},null,8,[`value`,`severity`])]),a.value.length?(L(),l(m(M),{key:1,severity:`error`,closable:!1,"data-description":`lint errors`},{default:E(()=>[P(`ul`,lr,[(L(!0),b(v,null,O(a.value,(e,t)=>(L(),b(`li`,{key:`le`+t},o(e),1))),128))])]),_:1})):x(``,!0),s.value.length?(L(),l(m(M),{key:2,severity:`warn`,closable:!1,"data-description":`lint warnings`},{default:E(()=>[P(`ul`,ur,[(L(!0),b(v,null,O(s.value,(e,t)=>(L(),b(`li`,{key:`lw`+t},o(e),1))),128))])]),_:1})):x(``,!0),e.report.results.length?(L(),l(m(W),{key:3,value:e.report.results,size:`small`,class:`results-table`},{default:E(()=>[n(m(K),{field:`step`,header:`Step`}),n(m(K),{header:`Tool`},{body:E(({data:e})=>[n(Kn,{"tool-id":e.tool_id},null,8,[`tool-id`])]),_:1}),n(m(K),{header:`Status`},{body:E(({data:e})=>[n(m(q),{value:e.status,severity:c(e.status)},null,8,[`value`,`severity`])]),_:1}),n(m(K),{header:`Errors`},{body:E(({data:e})=>[e.errors.length?(L(),b(`ul`,dr,[(L(!0),b(v,null,O(e.errors,(e,t)=>(L(),b(`li`,{key:t},o(e),1))),128))])):x(``,!0)]),_:1})]),_:1},8,[`value`])):x(``,!0)]))}}),[[`__scopeId`,`data-v-504757bf`]]),pr={class:`operation-report`},mr={class:`summary-row`},hr={class:`summary-line`},gr={class:`failure-list`},_r={class:`section-heading`},vr={class:`section-heading`},yr={class:`content-pre`},br={class:`content-pre`},xr=j(w({__name:`RoundtripReport`,props:{report:{}},setup(e){let t=e,r=u(()=>t.report.result);return(t,i)=>(L(),b(`div`,pr,[P(`div`,mr,[n(m(q),{value:r.value.ok?`pass`:`fail`,severity:r.value.ok?`success`:`danger`,class:`status-tag`},null,8,[`value`,`severity`]),P(`span`,hr,o(r.value.summary_line),1)]),r.value.error?(L(),l(m(M),{key:0,severity:`error`,closable:!1},{default:E(()=>[f(o(r.value.error),1)]),_:1})):x(``,!0),r.value.conversion_failure_lines.length?(L(),b(v,{key:1},[i[0]||=P(`h4`,{class:`section-heading`},`Conversion Failures`,-1),P(`ul`,gr,[(L(!0),b(v,null,O(r.value.conversion_failure_lines,(e,t)=>(L(),b(`li`,{key:t},[P(`code`,null,o(e),1)]))),128))])],64)):x(``,!0),r.value.error_diffs.length?(L(),b(v,{key:2},[P(`p`,_r,[n(m(q),{value:`error`,severity:`danger`}),i[1]||=f(` Diffs`,-1)]),n(m(W),{value:r.value.error_diffs,size:`small`},{default:E(()=>[n(m(K),{field:`step_path`,header:`Step`}),n(m(K),{field:`key_path`,header:`Key`}),n(m(K),{field:`description`,header:`Description`})]),_:1},8,[`value`])],64)):x(``,!0),r.value.benign_diffs.length?(L(),b(v,{key:3},[P(`p`,vr,[n(m(q),{value:`benign`,severity:`secondary`}),i[2]||=f(` Diffs`,-1)]),n(m(W),{value:r.value.benign_diffs,size:`small`},{default:E(()=>[n(m(K),{field:`step_path`,header:`Step`}),n(m(K),{field:`key_path`,header:`Key`}),n(m(K),{field:`description`,header:`Description`})]),_:1},8,[`value`])],64)):x(``,!0),e.report.before_content!=null||e.report.after_content!=null?(L(),l(m(dn),{key:4,header:`Workflow content`,toggleable:!0,collapsed:!0},{default:E(()=>[n(m(Vn),{value:`original`},{default:E(()=>[n(m(On),null,{default:E(()=>[n(m(vn),{value:`original`},{default:E(()=>[...i[3]||=[f(`Original (native)`,-1)]]),_:1}),n(m(vn),{value:`reimported`},{default:E(()=>[...i[4]||=[f(`Re-imported (native)`,-1)]]),_:1})]),_:1}),n(m(Rn),null,{default:E(()=>[n(m(In),{value:`original`},{default:E(()=>[P(`pre`,yr,o(e.report.before_content??`(none)`),1)]),_:1}),n(m(In),{value:`reimported`},{default:E(()=>[P(`pre`,br,o(e.report.after_content??`(none)`),1)]),_:1})]),_:1})]),_:1})]),_:1})):x(``,!0)]))}}),[[`__scopeId`,`data-v-1ee63bb8`]]),Sr={class:`operation-report`},Cr={class:`summary-row`},wr={class:`path-row`},Tr={key:0},Er={key:0},Dr={key:1,class:`muted`},Or={key:1,class:`muted`},kr={class:`content-pre`},Ar=j(w({__name:`ExportReport`,props:{result:{}},setup(e){let t=e,r=u(()=>`removed_path`in t.result?t.result.removed_path:null),i=u(()=>t.result.target_format===`native`),a=u(()=>t.result.source_format===`native`?`Native (.ga)`:`Format2 (.gxwf.yml)`),s=u(()=>t.result.target_format===`native`?`Native (.ga)`:`Format2 (.gxwf.yml)`),c=u(()=>i.value?(t.result.report.steps??[]).map(e=>({step_id:e.step_id,step_label:e.step_label,tool_id:e.tool_id,ok:e.encoded,error:e.error})):[]),d=u(()=>i.value?t.result.report.all_encoded:t.result.report.ok),p=u(()=>{if(i.value)return t.result.report.summary;let e=t.result.report,n=e.steps_converted+e.steps_fallback;return`${e.steps_converted}/${n} step${n===1?``:`s`} converted`});return(t,i)=>(L(),b(`div`,Sr,[P(`div`,Cr,[n(m(q),{value:`${a.value} → ${s.value}`,severity:`info`},null,8,[`value`]),e.result.dry_run?(L(),l(m(q),{key:0,value:`Dry run`,severity:`warn`})):x(``,!0),r.value?(L(),l(m(q),{key:1,value:`Removes ${r.value}`,severity:`danger`},null,8,[`value`])):x(``,!0),n(m(q),{value:p.value,severity:d.value?`success`:`warn`},null,8,[`value`,`severity`])]),P(`div`,wr,[P(`div`,null,[i[0]||=P(`span`,{class:`path-label`},`Source:`,-1),i[1]||=f(),P(`code`,null,o(e.result.source_path),1)]),P(`div`,null,[i[2]||=P(`span`,{class:`path-label`},`Output:`,-1),i[3]||=f(),P(`code`,null,o(e.result.output_path),1)]),r.value?(L(),b(`div`,Tr,[i[4]||=P(`span`,{class:`path-label`},`Removed:`,-1),i[5]||=f(),P(`code`,null,o(r.value),1)])):x(``,!0)]),c.value.length>0?(L(),l(m(W),{key:0,value:c.value,size:`small`},{default:E(()=>[n(m(K),{field:`step_id`,header:`Step`}),n(m(K),{field:`step_label`,header:`Label`},{body:E(({data:e})=>[e.step_label?(L(),b(`span`,Er,o(e.step_label),1)):(L(),b(`span`,Dr,`—`))]),_:1}),n(m(K),{header:`Tool`},{body:E(({data:e})=>[e.tool_id?(L(),l(Kn,{key:0,"tool-id":e.tool_id},null,8,[`tool-id`])):(L(),b(`span`,Or,`—`))]),_:1}),n(m(K),{header:`Status`},{body:E(({data:e})=>[n(m(q),{value:e.ok?`OK`:e.error??`Failed`,severity:e.ok?`success`:`danger`},null,8,[`value`,`severity`])]),_:1})]),_:1},8,[`value`])):x(``,!0),e.result.content==null?x(``,!0):(L(),l(m(dn),{key:1,header:`Converted content`,toggleable:!0,collapsed:!0},{default:E(()=>[P(`pre`,kr,o(e.result.content),1)]),_:1}))]))}}),[[`__scopeId`,`data-v-12ba9dcd`]]),jr={class:`raw-json`},Mr=j(w({__name:`RawJsonView`,props:{data:{}},setup(e){let t=e,n=u(()=>JSON.stringify(t.data,null,2));return(e,t)=>(L(),b(`pre`,jr,[P(`code`,null,o(n.value),1)]))}}),[[`__scopeId`,`data-v-f865b670`]]),Nr=[`data-description`],Pr={key:0,class:`panel-content`,"data-description":`lint result panel`},Fr={class:`panel-toolbar`},Ir={class:`opt-label`},Lr={class:`opt-label`},Rr={key:2,class:`no-results`},zr={key:1,class:`panel-content`,"data-description":`export result panel`},Br={class:`panel-toolbar`},Vr={key:2,class:`no-results`},Hr={key:2,class:`panel-content`,"data-description":`validate result panel`},Ur={class:`panel-toolbar`},Wr={class:`opt-label`},Gr={class:`opt-label`},Kr={class:`opt-label`},qr={key:2,class:`no-results`},Jr={key:3,class:`panel-content`,"data-description":`clean result panel`},Yr={class:`panel-toolbar`},Xr={key:2,class:`no-results`},Zr={key:4,class:`panel-content`,"data-description":`roundtrip result panel`},Qr={class:`panel-toolbar`},$r={class:`opt-label`},ei={class:`opt-label`},ti={class:`opt-label`},ni={key:2,class:`no-results`},ri={key:5,class:`panel-content`,"data-description":`convert result panel`},ii={class:`help destructive`},ai={class:`panel-toolbar`},oi={key:2,class:`no-results`},si=250,ci=j(w({__name:`OperationPanel`,props:{workflowPath:{},op:{}},setup(e){let t=e,{validateResult:a,lintResult:s,cleanResult:c,roundtripResult:u,exportResult:d,convertResult:p,validateLoading:h,lintLoading:g,cleanLoading:_,roundtripLoading:v,exportLoading:y,convertLoading:S,validateError:ee,lintError:te,cleanError:ne,roundtripError:re,exportError:w,convertError:ie,runValidate:O,runLint:k,runClean:j,runRoundtrip:N,runExport:I,runConvert:R}=me(t.workflowPath),{refreshWorkflows:z}=le(),B=ce(),V=r(),H=[{label:`Meta model`,value:`effect`},{label:`JSON Schema`,value:`json-schema`}],U=oe({strict_structure:!1,strict_encoding:!1,mode:`effect`,clean_first:!1}),W=oe({strict_structure:!1,strict_encoding:!1}),G=oe({strict_structure:!1,strict_encoding:!1,strict_state:!1}),K=oe({validate:!1,lint:!1,clean:!1,roundtrip:!1,export:!1,convert:!1});function q(e){let t;return()=>{t&&clearTimeout(t),t=setTimeout(e,si)}}function ue(){switch(t.op){case`validate`:a.value||O(U);break;case`lint`:s.value||k(W);break;case`clean`:c.value||j({dry_run:!0});break;case`export`:d.value||I({dry_run:!0});break;case`convert`:p.value||R({dry_run:!0});break}}ae(ue),D(()=>t.op,ue),D(U,q(()=>{t.op===`validate`&&O(U)})),D(W,q(()=>{t.op===`lint`&&k(W)})),D(G,q(()=>{t.op===`roundtrip`&&u.value&&N(G)}));async function J(){await j({dry_run:!1}),ne.value||(pe(t.workflowPath,`clean`),await z(),V.add({severity:`success`,summary:`Clean applied`,detail:`Rewrote ${t.workflowPath}`,life:3e3}))}async function de(){await I({dry_run:!1}),w.value||(await z(),V.add({severity:`success`,summary:`Sibling written`,detail:d.value?.output_path??`Wrote format2 sibling`,life:3e3}))}async function fe(){window.confirm(`Convert will delete the original file at ${t.workflowPath} after writing the converted output. Continue?`)&&(await R({dry_run:!1}),ie.value||(await z(),V.add({severity:`success`,summary:`Converted`,detail:`Replaced ${t.workflowPath}`,life:3e3}),B.push(`/`)))}return(t,r)=>{let D=T(`tooltip`);return L(),b(`div`,{class:`op-panel`,"data-description":`${e.op} panel`},[e.op===`lint`?(L(),b(`div`,Pr,[r[23]||=P(`p`,{class:`help`},` Style and quality warnings — unused outputs, missing annotations, suspicious defaults. `,-1),P(`div`,Fr,[n(m(A),{label:`Re-run`,icon:`pi pi-refresh`,text:``,size:`small`,loading:m(g),"data-description":`run lint operation`,onClick:r[0]||=()=>void m(k)(W)},null,8,[`loading`]),C((L(),b(`label`,Ir,[n(m(F),{modelValue:W.strict_structure,"onUpdate:modelValue":r[1]||=e=>W.strict_structure=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[21]||=f(` Strict structure `,-1)])),[[D,`Fail on structural issues.`,void 0,{top:!0}]]),C((L(),b(`label`,Lr,[n(m(F),{modelValue:W.strict_encoding,"onUpdate:modelValue":r[2]||=e=>W.strict_encoding=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[22]||=f(` Strict encoding `,-1)])),[[D,`Fail on encoding quirks (legacy type hints, etc).`,void 0,{top:!0}]]),m(s)?(L(),l(m(Y),{key:0,modelValue:K.lint,"onUpdate:modelValue":r[3]||=e=>K.lint=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(te)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(te)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(g)&&m(s)})},[m(s)&&K.lint?(L(),l(m(Mr),{key:0,data:m(s)},null,8,[`data`])):m(s)?(L(),l(m(fr),{key:1,report:m(s)},null,8,[`report`])):m(g)?x(``,!0):(L(),b(`p`,Rr,`No results yet.`))],2)])):e.op===`export`?(L(),b(`div`,zr,[r[24]||=P(`p`,{class:`help`},[f(` Preview of the format2 sibling that would be written alongside the original. Click `),P(`strong`,null,`Write sibling`),f(` to save it to disk. `)],-1),P(`div`,Br,[n(m(A),{label:`Write sibling`,icon:`pi pi-save`,size:`small`,loading:m(y),disabled:!m(d)||m(y),"data-description":`apply export operation`,onClick:r[4]||=()=>void de()},null,8,[`loading`,`disabled`]),m(d)?(L(),l(m(Y),{key:0,modelValue:K.export,"onUpdate:modelValue":r[5]||=e=>K.export=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(w)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(w)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(y)&&m(d)})},[m(d)&&K.export?(L(),l(m(Mr),{key:0,data:m(d)},null,8,[`data`])):m(d)?(L(),l(m(Ar),{key:1,result:m(d)},null,8,[`result`])):m(y)?x(``,!0):(L(),b(`p`,Vr,`Loading preview…`))],2)])):e.op===`validate`?(L(),b(`div`,Hr,[r[28]||=P(`p`,{class:`help`},`Schema validation — structural and semantic correctness of the file.`,-1),P(`div`,Ur,[n(m(A),{label:`Re-run`,icon:`pi pi-refresh`,text:``,size:`small`,loading:m(h),"data-description":`run validate operation`,onClick:r[6]||=()=>void m(O)(U)},null,8,[`loading`]),C(n(m(se),{modelValue:U.mode,"onUpdate:modelValue":r[7]||=e=>U.mode=e,options:H,"option-label":`label`,"option-value":`value`,size:`small`,class:`mode-select`},null,8,[`modelValue`]),[[D,`Validator backend.`,void 0,{top:!0}]]),P(`label`,Wr,[n(m(F),{modelValue:U.strict_structure,"onUpdate:modelValue":r[8]||=e=>U.strict_structure=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[25]||=f(` Strict structure `,-1)]),P(`label`,Gr,[n(m(F),{modelValue:U.strict_encoding,"onUpdate:modelValue":r[9]||=e=>U.strict_encoding=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[26]||=f(` Strict encoding `,-1)]),C((L(),b(`label`,Kr,[n(m(F),{modelValue:U.clean_first,"onUpdate:modelValue":r[10]||=e=>U.clean_first=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[27]||=f(` Clean first `,-1)])),[[D,`Run Clean (in-memory) before validating to normalize the document.`,void 0,{top:!0}]]),m(a)?(L(),l(m(Y),{key:0,modelValue:K.validate,"onUpdate:modelValue":r[11]||=e=>K.validate=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(ee)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(ee)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(h)&&m(a)})},[m(a)&&K.validate?(L(),l(m(Mr),{key:0,data:m(a)},null,8,[`data`])):m(a)?(L(),l(m(ar),{key:1,report:m(a)},null,8,[`report`])):m(h)?x(``,!0):(L(),b(`p`,qr,`No results yet.`))],2)])):e.op===`clean`?(L(),b(`div`,Jr,[r[29]||=P(`p`,{class:`help`},[f(` Preview of what Clean would strip (UI-only state, stale tool_state). Click `),P(`strong`,null,`Apply`),f(` to rewrite the file in place. `)],-1),P(`div`,Yr,[n(m(A),{label:`Apply`,icon:`pi pi-save`,size:`small`,loading:m(_),disabled:!m(c)||m(_),"data-description":`apply clean operation`,onClick:r[12]||=()=>void J()},null,8,[`loading`,`disabled`]),m(c)?(L(),l(m(Y),{key:0,modelValue:K.clean,"onUpdate:modelValue":r[13]||=e=>K.clean=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(ne)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(ne)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(_)&&m(c)})},[m(c)&&K.clean?(L(),l(m(Mr),{key:0,data:m(c)},null,8,[`data`])):m(c)?(L(),l(m(er),{key:1,report:m(c)},null,8,[`report`])):m(_)?x(``,!0):(L(),b(`p`,Xr,`Loading preview…`))],2)])):e.op===`roundtrip`?(L(),b(`div`,Zr,[r[33]||=P(`p`,{class:`help`},` Export to format2 then re-import and compare — catches lossy transformations. `,-1),P(`div`,Qr,[n(m(A),{label:m(u)?`Re-run`:`Run`,icon:m(u)?`pi pi-refresh`:`pi pi-play`,text:!!m(u),size:`small`,loading:m(v),"data-description":`run roundtrip operation`,onClick:r[14]||=()=>void m(N)(G)},null,8,[`label`,`icon`,`text`,`loading`]),P(`label`,$r,[n(m(F),{modelValue:G.strict_structure,"onUpdate:modelValue":r[15]||=e=>G.strict_structure=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[30]||=f(` Strict structure `,-1)]),P(`label`,ei,[n(m(F),{modelValue:G.strict_encoding,"onUpdate:modelValue":r[16]||=e=>G.strict_encoding=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[31]||=f(` Strict encoding `,-1)]),C((L(),b(`label`,ti,[n(m(F),{modelValue:G.strict_state,"onUpdate:modelValue":r[17]||=e=>G.strict_state=e,binary:!0,size:`small`},null,8,[`modelValue`]),r[32]||=f(` Strict state `,-1)])),[[D,`Compare runtime state, not just shape.`,void 0,{top:!0}]]),m(u)?(L(),l(m(Y),{key:0,modelValue:K.roundtrip,"onUpdate:modelValue":r[18]||=e=>K.roundtrip=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(re)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(re)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(v)&&m(u)})},[m(u)&&K.roundtrip?(L(),l(m(Mr),{key:0,data:m(u)},null,8,[`data`])):m(u)?(L(),l(m(xr),{key:1,report:m(u)},null,8,[`report`])):m(v)?x(``,!0):(L(),b(`p`,ni,`No results yet. Click Run.`))],2)])):e.op===`convert`?(L(),b(`div`,ri,[P(`p`,ii,[r[34]||=P(`i`,{class:`pi pi-exclamation-triangle`},null,-1),r[35]||=f(` Preview of the format2 conversion. Clicking `,-1),r[36]||=P(`strong`,null,`Convert & delete original`,-1),r[37]||=f(` writes the new file and `,-1),r[38]||=P(`strong`,null,`deletes`,-1),r[39]||=f(` the source at `,-1),P(`code`,null,o(e.workflowPath),1),r[40]||=f(`. `,-1)]),P(`div`,ai,[n(m(A),{label:`Convert & delete original`,icon:`pi pi-exclamation-triangle`,severity:`danger`,size:`small`,loading:m(S),disabled:!m(p)||m(S),"data-description":`apply convert operation`,onClick:r[19]||=()=>void fe()},null,8,[`loading`,`disabled`]),m(p)?(L(),l(m(Y),{key:0,modelValue:K.convert,"onUpdate:modelValue":r[20]||=e=>K.convert=e,onLabel:`Raw JSON`,offLabel:`Formatted`,onIcon:`pi pi-code`,offIcon:`pi pi-list`,size:`small`},null,8,[`modelValue`])):x(``,!0),m(ie)?(L(),l(m(M),{key:1,severity:`error`,closable:!1,size:`small`},{default:E(()=>[f(o(m(ie)),1)]),_:1})):x(``,!0)]),P(`div`,{class:i({"result-area":!0,stale:m(S)&&m(p)})},[m(p)&&K.convert?(L(),l(m(Mr),{key:0,data:m(p)},null,8,[`data`])):m(p)?(L(),l(m(Ar),{key:1,result:m(p)},null,8,[`result`])):m(S)?x(``,!0):(L(),b(`p`,oi,`Loading preview…`))],2)])):x(``,!0)],8,Nr)}}}),[[`__scopeId`,`data-v-bfa87f0f`]]),li={class:`view-header`},ui={class:`header-main`},di={class:`title-row`},fi={"data-description":`workflow view path`},pi=[`title`],mi={class:`diagram-region`,"data-description":`diagram region`},hi=j(w({__name:`WorkflowView`,setup(e){let t=G(),r=ce(),{workflows:a}=le(),s=u(()=>t.params.path),c=u(()=>{let e=s.value,t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e}),d=u(()=>a.value.find(e=>e.relative_path===s.value)??null),f=[`validate`,`lint`,`clean`,`roundtrip`,`export`,`convert`];function p(e){return typeof e==`string`&&f.includes(e)?e:null}let h=H(null);ae(()=>{h.value=p(t.query.op)}),D(()=>t.query.op,e=>{h.value=p(e)});function g(e){h.value!==e&&r.replace({query:{...t.query,op:e}})}function _(){let{op:e,...n}=t.query;r.replace({query:n})}return(e,t)=>{let a=T(`tooltip`);return L(),b(`div`,{class:i([`workflow-view`,{"has-drawer":h.value!==null}]),"data-description":`workflow view`},[P(`div`,li,[C(n(m(A),{icon:`pi pi-arrow-left`,text:``,rounded:``,onClick:t[0]||=e=>m(r).push(`/`),"aria-label":`Back to workflows`},null,512),[[a,`Back to workflows`,void 0,{right:!0}]]),P(`div`,ui,[P(`div`,di,[P(`h1`,fi,o(c.value),1),d.value?C((L(),l(m(q),{key:0,value:d.value.format,severity:`secondary`},null,8,[`value`])),[[a,`Workflow format`,void 0,{top:!0}]]):x(``,!0)]),s.value?(L(),b(`p`,{key:0,class:`path-line`,title:s.value},o(s.value),9,pi)):x(``,!0)])]),P(`div`,mi,[t[1]||=P(`p`,{class:`help`},`Visual map of steps, inputs, outputs, and connections.`,-1),n(nn,{"workflow-path":s.value},null,8,[`workflow-path`])]),n(an,{"active-op":h.value,onOpenOp:g},null,8,[`active-op`]),h.value?(L(),l(ln,{key:0,op:h.value,class:`drawer-region`,onClose:_},{default:E(()=>[n(ci,{"workflow-path":s.value,op:h.value},null,8,[`workflow-path`,`op`])]),_:1},8,[`op`])):x(``,!0)],2)}}}),[[`__scopeId`,`data-v-9e8a70f9`]]);export{hi as default};